Javascript将输入文件传递给PHP
我不想使用Javascript上传文件,我只想通过Ajax将文件传递到PHP文件,在PHP中进行我想要的验证,并使用Javascript将输入文件传递给PHP,javascript,jquery,ajax,Javascript,Jquery,Ajax,我不想使用Javascript上传文件,我只想通过Ajax将文件传递到PHP文件,在PHP中进行我想要的验证,并使用move\u uploaded\u file函数。可能吗 $('#the_button').on("click", function(){ var image = $('#image').val() == "" ? null : $('#image').files; $.ajax({ type: "POST", u
move\u uploaded\u file
函数。可能吗
$('#the_button').on("click", function(){
var image = $('#image').val() == "" ? null : $('#image').files;
$.ajax({
type: "POST",
url: "insert.php?type=image",
data: image,
enctype: 'multipart/form-data',
success: function(data) {
alert(data);
}
});
}
这将为#图像返回“未定义”
$('#image')。文件[0]
也返回未定义的
$('#image')[0]。文件
返回[object FileList]->是否正确?无法通过AJAX上载文件。
通常的方法是将表单的目标设置为隐藏的iframe。
像这样的
<form target="myHiddenIframe" method="post" enctype="multipart/form-data">
//your form elements here.
</form>
<iframe name="myHiddenIframe" id="myHiddenIframe" style="display: none;" />
//你的表单元素在这里。
提交表格以实现您的目标 试试这个插件
$('#fileupload')。fileupload({
数据类型:“json”,
完成:功能(e,数据){
$.each(data.result.files,函数(索引,文件){
$('').text(file.name).appendTo(document.body);
});
}
});
我认为您不能在AJAX中使用enctype:“multipart/form data”。要将文件上载到服务器(PHP),您必须使用javascript(使用fileupload输入字段)打开文件,并将其作为字节[]数组发送到服务器。然后服务器就可以读取byte[]数组,并使用它做任何你需要的事情,如果我没有任何形式的话?我已经看过这个插件了。但是我想这是我想要的。看起来我只打算用PHP编写一个表单和一个提交按钮。事实上,我会接受你的答案。我目前正在努力使这项工作,似乎很好。非常感谢。
$('#fileupload').fileupload({
dataType: 'json',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
}
});