我们已经开始使用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并将其存储在已上传的文件中,并将其用作下载文件的链接。
文件下载正常,与上传的文件大小完全相同但不会打开。
任何帮助都会受到极大的赞赏,因为它必须是如此明显的东西,但它让我害怕。我很害怕。
答案 0 :(得分:0)
您使用什么代码将文档保存到Azure?
上传和下载时ContentType的价值是多少?
您是否对上传流进行了UTF8编码?
在上传之前,请先查看设置ContentType和UTF8编码的this upload example。