【问题标题】:How to save a file in azure using asp uploadFile如何使用asp uploadFile将文件保存在天蓝色
【发布时间】:2016-10-25 10:45:29
【问题描述】:

所以我的问题是我需要从 azure 发布的网络表单中读取文件,用户使用 asp.net FileUpload 选择文件,但不保存就无法读取,我需要保存才能读取它。如何使用天蓝色做到这一点?有没有其他方法可以在不保存的情况下读取文件?

谢谢!

【问题讨论】:

标签: c# asp.net .net azure


【解决方案1】:

您无需保存上传的文件即可阅读。原始内容可通过FileContents 以字节流的形式获得 财产。 PostedFile 属性提供更多信息,例如文件长度和内容类型。您可以通过其InputStream 属性读取内容。

SaveAs 只是读取字节流并将字节写入文件。

如果文件很小,您可以通过FileBytes 属性直接访问其字节。否则,您可以从流中读取字节并将它们复制到另一个流。

您可以使用来自UploadFromStream 的流中的数据创建一个 CloudBlockBlob:

var connectionString=CloudConfigurationManager.GetSetting("StorageConnectionString");
var acct = CloudStorageAccount.Parse(connectionString);
var client = acct.CreateCloudBlobClient();

var blob = container.GetBlockBlobReference(fileName);
blob.UploadFromStream(FileUpload1.FileContents);

一般来说,文件和 blob 操作总是提供一种使用流的方法。否则无法处理大文件

【讨论】:

  • 所以您是说可以读取该文件而无需仅使用 FileUpload 属性保存它?
  • 是的,正如 Pangiotis Kanavos 所说,FileUpload.FileContent 可用于将文件上传到 Azure。而FileConent是一个指向文件的Stream对象,Azure blob支持使用stream来上传文件。请试一试。blob.UploadFromStream(FileUpload1.FileContent);
猜你喜欢
  • 2014-12-29
  • 1970-01-01
  • 2020-12-14
  • 2011-02-11
  • 2018-05-18
  • 2021-11-01
  • 2021-02-19
  • 2019-08-31
  • 1970-01-01
相关资源
最近更新 更多