Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 存储Excel/Word文档Windows Azure Blob存储文件已损坏_C#_Asp.net Mvc_Azure Storage - Fatal编程技术网

C# 存储Excel/Word文档Windows Azure Blob存储文件已损坏

C# 存储Excel/Word文档Windows Azure Blob存储文件已损坏,c#,asp.net-mvc,azure-storage,C#,Asp.net Mvc,Azure Storage,我们已经开始使用Azure blob存储api在我们的网站上存储上载的blob,图像工作正常,但当我们上载word/excel文档并返回Url,尝试从该Url下载文件并打开时,excel或word中会出现错误,并说: Excel无法打开文件“somefile.xlsx”,因为格式或文件扩展名无效。请验证文件是否已损坏,以及文件扩展名是否与文件格式匹配 我知道我肯定遗漏了一些明显的东西,但不确定是什么,下面是我们正在使用的代码: CloudBlobContainer container = G

我们已经开始使用Azure blob存储api在我们的网站上存储上载的blob,图像工作正常,但当我们上载word/excel文档并返回Url,尝试从该Url下载文件并打开时,excel或word中会出现错误,并说:

Excel无法打开文件“somefile.xlsx”,因为格式或文件扩展名无效。请验证文件是否已损坏,以及文件扩展名是否与文件格式匹配

我知道我肯定遗漏了一些明显的东西,但不确定是什么,下面是我们正在使用的代码:

  CloudBlobContainer container = GetCloudBlobContainer();

  Guid guid = Guid.NewGuid();
  string storeFilename = String.Concat(mediaType.ToString(), "/", guid, "_", filename);

  var blob = container.GetBlobReference(storeFilename);
  blob.Properties.ContentType = contentType;
  blob.UploadFromStream(stream);

  return blob.Uri.AbsolutePath;
我们返回Url并将其存储在已上载的文件中,并将其用作下载文件的链接

该文件下载正常,与上传的文件大小完全相同,但不会打开


任何帮助都将不胜感激,因为它一定是非常明显的东西,但恐怕我找不到。

您使用什么代码将文档保存到Azure

上传和下载ContentType的价值是什么

您是否使用UTF8编码上传流

看看在上传之前设置ContentType和UTF8编码的方法