【发布时间】:2012-12-21 01:07:59
【问题描述】:
我正在使用标题“仅提交文件”下的here 中的代码。代码真的很简单,很小,但是当我console.log“文件”时,它没有位置,webkitrelativepath是“”,我可以在提交时看到文件名,大小等。我需要将其发布到我的 feedback.php 文件中并将其附加到电子邮件中,但我不知道如何将文件从 formData 中取出并将其上传到我的上传文件夹中,这样我就可以- 邮寄...
谢谢。
编辑:
我目前使用的是什么代码:
var fileInput = document.getElementById('file-upload-field');
var file = fileInput.files[0];
var formData = new FormData();
formData.append('file', file);
console.log(file);
$.ajax({
url: baseUrl + "feedback.php",
data: file,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function(file){
alert(file);
}
});
在我的feedback.php中
foreach($_FILES as $file){
$target_path = "uploads/";
$target_path = $target_path .basename($file['name']);
if(move_uploaded_file($file['tmp_name'], $target_path)) {
echo "the file ".basename($file['name'])." has been uploaded";
}
else {
echo "there was an error";
}
$mail->AddAttachment($target_path);
}
这不会在任何地方上传或附加任何文件...
【问题讨论】:
-
这篇文章是关于什么的:blog.new-bamboo.co.uk/2012/01/10/…?
-
好的,更换我的 cmets,秒。没有注意到您明确使用了 File API。
-
因此,以这种方式上传的文件不会显示在
$_FILES中。您需要阅读stdin或查看$HTTP_RAW_POST_DATA(如果已定义)。这意味着您也不会获得 MIME 类型或原始用户文件名。我敦促您为此任务使用第三方上传小部件。 -
@SEROK:请联系该教程的作者并索取 PHP 示例代码。我们无法为任何在线教程提供支持,如果您遇到此类教程的问题,请先联系原作者。
标签: php jquery post multipartform-data