Php Ajax上传文件不工作
Html代码:Php Ajax上传文件不工作,php,jquery,ajax,file,upload,Php,Jquery,Ajax,File,Upload,Html代码: <input type="file" id="file" /> PHP代码: if(isset($_POST['file'])){ echo "1"; } 上传后提示空消息 但是这段代码应该是错误1使用ajax直接上传文件是不可能的。但也有一些使用框架的变通方法。 尝试以下教程: 读这篇文章 cfr:这是一个解决办法,但可能有助于 function uploadFile() { var file = document.getElem
<input type="file" id="file" />
PHP代码:
if(isset($_POST['file'])){
echo "1";
}
上传后提示空消息
但是这段代码应该是错误1使用ajax直接上传文件是不可能的。但也有一些使用框架的变通方法。 尝试以下教程: 读这篇文章
cfr:这是一个解决办法,但可能有助于
function uploadFile() {
var file = document.getElementById('fileToUpload').files[0];
if (file) {
var fileSize = 0;
var fileType = ''+file.type;
if(checkType(fileType)){
var fd = new FormData();
fd.append("fileToUpload", document.getElementById('fileToUpload').files[0]);
var xhr = new XMLHttpRequest();
xhr.open("POST", "uploadPhoto");
xhr.send(fd);
}
else{
document.getElementById('fileToUpload').value ='' ;
alert("Choose of specified file Format only.");
}
}
}*
始终记住,如果这些解决方案中的任何一个不起作用,并且文件属性未显示在: $.ajax{url:here} 尽管一切都是正确的 如果您自己是从ajax调用中加载的 试着把它放在主文件里。一个在url或url中 将文件放在url中出现的位置,即文件的最终文件夹 出现在url中,然后使用包含函数包含文件。
您应该查看和框架,作为旧浏览器的后备方案。上传文件不像传递值那么简单。直接使用ajax上传文件是可能的。阅读XHR2/FormData。事实上,你的一个链接展示了如何通过ajax上传文件?您也可以使用.ajax方法上载文件。该链接显示了一个带有iframes的示例,直接使用.ajax是不可能的。您可能希望将来阅读您发布的链接,例如本例中的第一个链接。再一次,通过Ajax直接上传是可能的。在下次提供答案之前,请尝试做一些研究,或者如果您打算对jquery进行评论,请至少对它有一些了解。Jquery的Ajax函数只是XMLHttpRequest的包装器。在所有现代浏览器中都可以通过xhr上传文件。
function uploadFile() {
var file = document.getElementById('fileToUpload').files[0];
if (file) {
var fileSize = 0;
var fileType = ''+file.type;
if(checkType(fileType)){
var fd = new FormData();
fd.append("fileToUpload", document.getElementById('fileToUpload').files[0]);
var xhr = new XMLHttpRequest();
xhr.open("POST", "uploadPhoto");
xhr.send(fd);
}
else{
document.getElementById('fileToUpload').value ='' ;
alert("Choose of specified file Format only.");
}
}
}*