JavaScript / jQuery + HTML5文件上传[.zip / .txt]并将此文件作为jSON数据发送

时间:2014-04-21 08:01:00

标签: javascript jquery asp.net json html5

如果你有Any server side scripting技术,那么问题就相当简单了,但是在处理的情况下[即。将文件按原样发送到jSON函数。

场景是:

  1. 我有一个文件上传控件

    <input type="file" id="fileselect" name="fileselect[]" multiple="multiple" />

  2. 在javascript或jQuery的帮助下,我需要在“上传”按钮上点击此控件的上传文件。 我需要将此文件POST到jSON。

  3. 为什么需要按原样发布是因为文件可能是.zip或.text [图像文件不会被使用],我的控制器中的函数将在该文件上工作[如Extract / Save /过程等]

  4. 适用于所有浏览器的好方法吗?

    在这种情况下,使用javascript将文件保存到本地磁盘是一个很好的解决方案,而不是将其传递给jSON?请对此发表评论。

2 个答案:

答案 0 :(得分:0)

使用PHP可以完成。 $ _FILES [&#34; fileselect&#34;]可以保留文件arrtibute,上传时存储在临时位置,可以通过move_upload_file($ source,$ destination)进行更改

答案 1 :(得分:0)

要在没有服务器脚本的情况下将请求发送到服务器端,请参阅my answer here。您可以使用XMLHttpRequest将文件上传到服务器。答案是关于如何显示进度条,但它还显示了如何上传文件。

有关使用javascript在本地保存文件的选项,请参阅here(文件系统API)和here(localstorage)。另请参阅this answer,其中介绍了FileReaderFile API。请注意,您需要使用一些相对较新的功能,您可以参考caniuse查看您的目标浏览器是否受支持。

<强>更新

根据评论,您询问如何使用Web-API Controller执行此操作。见this answer。基本上,您检查并遍历控制器中HttpRequest.Files中的每个文件。

您无法在自托管的网络API中使用HttpRequest,有关替代方案,请参阅hereherehere