我们已经开始使用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并将其存储在已上载的文件中,并将其用作下载文件的链接。
文件下载正常,大小与上传的文件完全相同,但无法打开。
任何帮助都将不胜感激,因为这肯定是显而易见的事情,但我恐怕无法理解。
发布于 2012-10-23 01:25:48
您使用什么代码将文档保存到Azure?
上传和下载时ContentType的值是什么?
你在对上传流进行UTF8编码吗?
看看在上传之前设置ContentType和UTF8编码的this upload example。
https://stackoverflow.com/questions/13012990
复制