Dan*_*tus 6 javascript php jquery http-post
我知道这个问题已经有问题,但我还是不能正确地做到这一点.需要一些帮助.
我需要上传一个带有附加数据的文件.
我的input.php:
<input type="file" id="foto_path" name="foto_path" />
<input type="button" value="Add" onclick="javascript:sendForm()" />
Run Code Online (Sandbox Code Playgroud)
我用javascript发送:
function sendForm() {
var fileInput = document.querySelector('#foto_path');
var oMyForm = new FormData();
var nip=123223374;//it will be generated by php, for temporary i just hardcode it
oMyForm.append("foto_path", fileInput);
oMyForm.append("nip",nip );
var oReq = new XMLHttpRequest();
oReq.open("POST", "upload-file.php", true);
oReq.onload = function(oEvent) {
if (oReq.status == 200) {
//oOutput.innerHTML = "Uploaded!";
alert('success');
} else {
//oOutput.innerHTML = "Error " + oReq.status + " occurred uploading your file.<br \/>";
alert('failed');
}
};
oReq.send(oMyForm);
}
Run Code Online (Sandbox Code Playgroud)
当我发送到upload-file.php时:
logapp("post -> ".print_r($_POST,true));//logapp is just function to log to file
logapp("files -> ".print_r($_FILES,true));
Run Code Online (Sandbox Code Playgroud)
我从日志中得到了这个:
09/07/2013 02:47:06 pm :: post -> Array
(
[foto_path] => [object HTMLImageElement]
[nip] => 123223374
)
09/07/2013 02:47:06 pm :: files -> Array
(
)
Run Code Online (Sandbox Code Playgroud)
我得到了成功的警报,但我需要得到文件foto_path的$_FILES不$_POST.我的问题是为什么检测到的输入文件$_POST["foto_path"]不是$_FILES["foto_path"].如何更改,$_FILES["foto_path"]以便我可以开始使用上传的文件?
更新:我终于解决了这个问题
var ft=$('#foto_path_upload')[0].files[0];
oMyForm.append("foto_path_upload", ft);
Run Code Online (Sandbox Code Playgroud)
这是我从日志中得到的:
09/07/2013 04:26:53 pm :: files -> Array
(
[foto_path_upload] => Array
(
[name] => noimages.jpg
[type] => image/jpeg
[tmp_name] => D:\xampp\tmp\php4E90.tmp
[error] => 0
[size] => 3642
)
)
Run Code Online (Sandbox Code Playgroud)
问题解决了.大家好
| 归档时间: |
|
| 查看次数: |
8533 次 |
| 最近记录: |