Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以查看网页中的任何文件类型?_Javascript_Html_Node.js - Fatal编程技术网

Javascript 是否可以查看网页中的任何文件类型?

Javascript 是否可以查看网页中的任何文件类型?,javascript,html,node.js,Javascript,Html,Node.js,我试图让我的用户上传几乎任何时候的文件,并能够查看它。是否有某种插件允许使用任何文件,或者有某种技术允许这样做 我正在寻找文件查看器框架,但找不到。我必须转换所有文件吗?是一个用于自动mime查找的库。请注意,如果没有某种插件,您的浏览器不一定知道如何显示所有可能的文件类型。您的浏览器本身就是知道如何显示大多数文件类型的插件。将上载的文件加载到中,并让浏览器显示它。这样,您可以显示浏览器知道如何显示的任何类型的文件。您必须在某个地方对文件类型进行限制。例如,用户如何查看由AutoCAD软件创建的

我试图让我的用户上传几乎任何时候的文件,并能够查看它。是否有某种插件允许使用任何文件,或者有某种技术允许这样做


我正在寻找文件查看器框架,但找不到。我必须转换所有文件吗?

是一个用于自动mime查找的库。请注意,如果没有某种插件,您的浏览器不一定知道如何显示所有可能的文件类型。

您的浏览器本身就是知道如何显示大多数文件类型的插件。将上载的文件加载到
中,并让浏览器显示它。这样,您可以显示浏览器知道如何显示的任何类型的文件。

您必须在某个地方对文件类型进行限制。例如,用户如何查看由AutoCAD软件创建的文件?您需要手动分别处理每种类型的文件。全屏大小+,iframe w/dataURL用于html文件或innerHTML用于剪贴,textarea用于文本,beautify用于JSON,hex编辑器用于二进制…您将如何处理Postscript?运行它或将它显示为文本?人们上传的文件包括从PSD到图像、视频到文档的任何内容。如果这是一个非常罕见的东西,我会让他们下载它。这将是一个糟糕的图像用户体验,并阻止大量可显示的内容,如application/json。许多类型会意外下载而不是显示。我希望它能如此简单地做好…@dandavis-文件API提供的mime类型不可靠。我甚至不认为它来自操作系统。据报告,名为“myFolder.jpg”的文件夹的类型为“image/jpeg”。浏览器只是使用简单的文件扩展名映射来报告mime类型。“浏览器只是使用简单的文件扩展名映射来报告mime类型”,而不是什么?脚本指向如何做得更好?识别MIME类型的更可靠的方法是读取文件头并查找该类型的文件所共有的“魔法字节”(对于某些文件,它比这个复杂一点)。gilly3浏览器只是查看文件扩展名,这是正确的@dandavis您是正确的,引用的库也这样做。在服务器端这样做非常简单。许多库已经存在(如mimemagic)。客户端有点挑战性,但这是可能的。让我们退一步,意识到我们在担心潜在的错误配置上花费的时间比在完成正确配置文件的显示上花费的时间要多。。。当绝大多数人希望查看基于ext的工作正常时,撕开二进制文件或将用户数据发送到服务器端是愚蠢的,我们遇到了更大的问题。。。