3

我们已经开始使用 Azure blob storage 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 并将其存储在已上传的文件中,并将其用作下载文件的链接。

文件下载正常,与上传的大小完全相同,但无法打开。

任何帮助将不胜感激,因为它必须是如此明显的东西,但我害怕它躲避我。

4

1 回答 1

0

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

上传和下载时 ContentType 的值是多少?

您是否对上传流进行了 UTF8 编码?

看看这个上传示例,它在上传之前设置了 ContentType 和 UTF8 编码。

于 2012-10-23T01:25:48.183 回答