H5 下载word文件时预览失败,提示无法预览此文件,它可能已损坏,有部分可可以查看预览

移动端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,这样也会出现转换错误。 

 

你可能感兴趣的:(C#)