[英]upload file via ajax with jquery easy ui
我正在尝试使用户能够使用jQuery EasyUI表单小部件从位于其计算机上的文件中导入数据:
<form id="my_form" method="POST">
<input type="file" name="my_file" id="my_file" />
</form>
var file_name = $('#my_file').val();
if(file_name)
{
$('#my_form').form('submit', {
url: [url_to_call],
onSubmit: function(param){
param.file_path = file_name;
}
});
}
然后,当用户在他/她的计算机上浏览该文件时,我想将路径发送到jQuery ajax查询以执行一些上载操作。 我的问题是filename
返回如下内容:
C:\fakepath\[name_of_file]
由于使用fakepath
字符串,因此无法获取文件在用户计算机上的真实路径。 有人知道我该如何解决这个问题?
谢谢
尝试了此插件http://malsup.com/jquery/form/#getting-started
该插件提供了一种称为AjaxSubmit()的方法,可以很好地上传图像。 我在2011年使用过它。
IE(旧版本,例如6,7)中存在一些问题。 您需要编写一些技巧。 在后端Firefox和IE上载正确的文件流格式(如Data/Image
但在Chrome(Webkit)中,您将获得八位字节流。 您需要解析服务器上的文件格式,以检查文件是否正确。
我不知道你的form()
函数做什么,因为jQuery中没有这样的方法,但是将文件上传到服务器的通常方法是这样的:
$('#my_file').on('change', function() {
$.ajax({
url : [url_to_call],
data : new FormData($('#my_form').get(0)),
processData: false,
contenttype: false
}).done(function(param) {
param.file_path = file_name;
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.