美文网首页
关于koa静态文件访问的一个坑

关于koa静态文件访问的一个坑

作者: 工程师54 | 来源:发表于2020-08-25 22:16 被阅读0次

一、问题

    通过前台quasar的上传组件q-uploader将文件顺利保存到后台koa的静态文件夹中,并通过返回值取到了文件存放的url,本以为前台通过这个url在浏览器中就可以看到或者下载这个文件了。

     jpg、png等图片文件如愿在浏览器中可以访问并看到图片,但对于docx、xlsx文件在浏览器执行url后,屏幕一闪,然后......就没有然后了。浏览器的控制台出现如下错误:

Resource interpreted as Document but transferred with MIME type application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

Resource interpreted as Document but transferred with MIME type application/vnd.openxmlformats-officedocument.wordprocessingml.document

二、问题分析

    一开始以为是koa对返回文件的header格式有问题,但自己分析后台koa后,发现和这个根本就没有关系,因为前台是通过url直接访问后台静态文件中的文件。

     我开发使用的浏览器是chrome,尝试改用360浏览器,竟然正确了,可以正常下载到后台的docx、xlsx文件;但在chrome中就不行,出现上面错误。

     总不能因为这个原因,就让客户全部不要用chrome浏览器吧!但如何在chrome浏览器解决这个问题,又一时找不到思路,纠结。。。。

三、解决方法

       思考无果后,决定改变思路,前台通过<a href=""></a>的方法显示这个链接,虽然对于docx、xlsx文件,点击<a>后还是一闪然后就啥都没有的问题,但可以通过在链接上右键菜单的“链接另存为”,实现将文件保存到本地的目的。

四、总结

      编程中,有时候“追求完美”就意味着“钻牛角尖”,费时费力甚至还解决不了问题。编程的主要目的还是为了解决现实问题,所以不应该以“追求完美”为目标,而应该以解决问题为目的,在此基础上再尽量完美。

相关文章

网友评论

      本文标题:关于koa静态文件访问的一个坑

      本文链接:https://www.haomeiwen.com/subject/cohtsktx.html