移动端H5下载文件功能时,发现部分word文件可以在线打开 有些无法打开,提示“无法预览此文件,它可能已损坏”;
但是在Pc端下载是可以正常打开的,移动端是不行。
代码如下:
byte[] array = result.DecryptContent;
MemoryStream stream = new MemoryStream(array);
StreamReader reader = new StreamReader(stream);
var contentType = "application/msword";
if (result.FileName.Contains(".docx"))
{
contentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
}
return File(stream, contentType, result.FileName);
可以看出contentType类型不同,会导致预览、下载时出现错误,转换的时候就无法进行预览。
因此需要针对不同的word版本设置contentType类型值即可,要注意有些人会是创建docx文件 然后把名称改成doc,这样也会出现转换错误。
标签:文件,contentType,预览,stream,result,已损坏,word From: https://blog.51cto.com/u_15898776/5902169