JavaScript编程
完成条件
使用纯 HTML4 和纯 JavaScript 时,对于用户文件的操作实际上只有一种可能:
服务器发送一个包含类似以下表单的网页:
<form action="/upload_handler" method="post">
<input type="file" />
</form>
然后,浏览器允许用户选择一个文件,并将其上传。但在这种情况下,客户端的 JavaScript 无法:
- 查看文件数据;
- 取消文件传输;
- 显示上传进度条。
实现更多功能的需求
如果希望 JavaScript 在文件上传之前对文件有所了解(例如立即取消过大的文件传输,而不是等上传完成后提示“文件太大”;或者显示上传进度条),仅靠纯 HTML4 和 JavaScript 是无法实现的。
常见替代方案
要实现这些功能,需要借助其他技术或现代浏览器的支持:
-
使用支持 HTML5 文件 API 的现代浏览器:
HTML5 提供了File API
,可以让 JavaScript 访问文件元数据(如文件大小、类型)以及文件内容。 -
使用 Flash:
可通过一个小型的 Flash 工具(类似 Gmail 用于绘制进度条的小工具)来实现文件选择和进度显示。 -
使用 Java Applet:
Java Applet 可以为文件上传提供更高的控制权限,但其使用已逐渐减少。 -
使用 ActiveX 控件:
在一些特定环境(如 IE 浏览器)中,ActiveX 控件可以用于文件操作,但需要用户额外的安全许可。
参考文献
最后修改: 2025年01月13日 星期一 15:15