HTML文件上传的工作原理?

时间:2012-08-23 05:42:10

标签: html forms file-upload

HTML使用表单将数据发送到Web服务器。数据可以包含在url参数中或嵌入在HTML Request主体中。但是对于一个文件,我不知道它是如何工作的。我想知道这一点,因为我发现在Web和桌面应用程序上传文件有一些区别。

桌面应用程序通常提供一个文本框,允许用户输入文件的区域设置路径。但对于Web应用程序,文本框通常是只读的。当使用浏览按钮选择文件时,它会显示文件路径。这只是桌面和网络之间的设计问题吗?

2 个答案:

答案 0 :(得分:3)

问题有点不清楚,但有关Web应用程序(或HTML表单)的一个重要方面是它们是沙盒的,无法直接访问本地文件。因此文件上传选择器不允许直接输入文件名(可能是脚本),但只能通过OS(或浏览器)提供的文件选择UI(应用程序或页面不能混淆)。

一旦用户选择了文件,页面就可以访问它,但它不能自己进行选择(或偷偷摸摸地进行选择)。

最近的趋势是以相同的方式锁定桌面应用程序。例如,请参阅Apple的沙盒限制,这些限制也不允许应用在没有用户干预的情况下打开随机文件。

答案 1 :(得分:0)

  

这只是桌面和网络之间的设计问题吗?

文件上载表单(无论是桌面还是Web)的实现对最终结果而言并不重要。桌面和Web控件都可以使用路径字符串或完整的文件导航器,但桌面应用程序的实现更有可能。唯一的另一个区别是目标:桌面应用程序倾向于解析内存中的文件并以某种方式呈现它,而Web应用程序几乎总是将其上传到服务器(虽然这可能会发生变化:请参阅HTML5 file API),然后进一步操作它。