【发布时间】:2011-02-23 23:09:22
【问题描述】:
我正在尝试进行 ajax 文件上传。我读到如果不使用 iframe 是不可能做到这一点的。
我写道:
<iframe id="uploadTrg" name="uploadTrg" height="0" width="0" frameborder="0" scrolling="yes"></iframe>
<form id="myForm" action="file-component" method="post" enctype="multipart/form-data" target="uploadTrg">
File: <input type="file" name="file">
<input type="submit" value="Submit" id="submitBtn"/>
</form>
并使用 jquery 表单插件:
$('#myForm').ajaxForm({
dataType: 'json',
success: function(data){
alert(data.toSource());
}
});
结果:
文件上传成功,我可以看到上传的文件,但出现一个对话框:
因为我发回了一个 json 结果以显示文件名 + 大小等..
我的问题: 如何使用 iFrame 进行“ajax 文件上传”。
注意:
- 如果有更合适/更简单的解决方案,我不喜欢使用特殊插件上传文件。
- 我使用 jsp/servlets 作为服务器端语言 .. 但我认为我使用哪种语言没有意义。
谢谢
【问题讨论】:
-
在您的#1 中,您指的是 jQuery 插件,还是指 Flash/Silverlight?
-
我在不使用 JavaScript 的情况下设计了一个更简化的 ajax 样式文件上传页面。我在表单标签之前放置了一个隐藏的 iFrame。请阅读以下内容。 ramui.com/articles/ajax-file-upload-using-iframe.html
标签: jquery ajax servlets file-upload