gpt4 book ai didi

file-upload - 将二进制文件从 httppostedfile 保存到 blob

转载 作者:行者123 更新时间:2023-12-04 07:25:48 24 4
gpt4 key购买 nike

有人可以提供代码以将上传的文件以二进制形式保存到 azure blob 吗?我目前使用文本保存,对于大文件来说,逐行读取/保存到 blob 的速度非常慢。

Private Function ReadFile(ByVal file As HttpPostedFile) As String
Dim result As String = ""
Dim objReader As New System.IO.StreamReader(file.InputStream)
Do While objReader.Peek() <> -1
result = result & objReader.ReadLine() & vbNewLine
Loop
Return result
End Function

谢谢

最佳答案

此代码片段基于将照片推送到 Blob 存储的生产应用程序。此方法直接从 HttpPostedFile 提取流并将其直接传递给客户端库以存储到 blob 中。您应该根据您的应用程序改变一些事情:

  • blobName 可能需要进行调整。
  • 获取 Blob 客户端之前的连接字符串应隔离到辅助类中
  • 同样,您可能需要一个基于您的业务逻辑的 Blob 容器助手
  • 您可能不希望容器完全可公开访问。添加此内容是为了向您展示如何执行此操作(如果您愿意)
// assuming HttpPostedFile is in a variable called postedFile  
var contentType = postedFile.ContentType;
var streamContents = postedFile.InputStream;
var blobName = postedFile.FileName

var connectionString = CloudConfigurationManager.GetSetting("YOURSTORAGEACCOUNT_CONNECTIONSTRING");
var storageAccount = CloudStorageAccount.Parse(connectionString);
var blobClient = storageAccount.CreateCloudBlobClient();

var container = blobClient.GetContainerReference("YOURCONTAINERNAME");
container.CreateIfNotExist();
container.SetPermissions(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob });

var blob = container.GetBlobReference(blobName);
blob.Properties.ContentType = contentType;
blob.UploadFromStream(streamContents);

关于file-upload - 将二进制文件从 httppostedfile 保存到 blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11917421/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com