我目前正在开发一个允许用户上传文件而无需重新加载页面的Web应用程序。到目前为止,用户可以浏览文件,当输入更改时,使用以下iframe技术上传文件:
HTML:
<iframe name="iframe-target" src="./Image" style="display:none;"></iframe>
<form method="POST" enctype="multipart/form-data" id="old-style-upload" target="iframe-target" action="./Image">
<input type="file" name="files[]" multiple id="old-file-picker" >
</form>
的Javascript / jQuery的:
$('#old-file-picker').change(function () {
// Submit the form
$('#old-style-upload').submit();
});
$('iframe[name=iframe-target]').load(function () {
// Code that deals with the newly uploaded files
$('#old-style-upload').get(0).reset();
});
这很好用,但是,用户无法知道文件正在上传,也无法知道需要多长时间。有没有办法制作一个显示文件上传进度的进度条?
我唯一能想到的就是展示loading gif。
答案 0 :(得分:2)
要做到这一点,如果你使用常规的multipart / form-data表单,你需要在服务器端有代码;可以将进度反馈给客户端浏览器中运行的JavaScript。看看at this previously asked question。或者,您可以使用Flash(但您可能不想)或HTML 5.您可以查看该问题并this question concerning XMLHTTPRequests。