【发布时间】:2016-08-09 06:06:36
【问题描述】:
我有一个表单,我想在其中有一个“虚拟表单”,用于处理文件附件。我有一个文件输入和一个按钮来发送文件。
问题是我的 PHP 支持只获取 POST 并且具有结构:
"file"; filename="xxx.jpg"
Content-type: image/jpeg
.
.
.
其中的点代表文件中的二进制数据。
根据我的阅读,应该是 $_FILES 和 $_POST 变量,但我不明白。
以下是 HTML 和 Javascript 中的相关代码行:
<input type="file" id="file-to-append" name="file-attachment">
<input type="button" onClick="append_file()" value="Add file">
function append_file() {
var formData = new FormData();
console.log(jQuery('#file-to-append'));
formData.append('file', jQuery(":file")[0].files[0]);
jQuery.ajax({
url : 'file_upload.php',
type : 'POST',
data : formData,
processData: false,
success : function(data) {
console.log(data);
alert("Added");
}
});
}
有人能发现或知道问题出在哪里吗?
【问题讨论】:
-
我打赌你的
form标签中没有enctype属性。 -
发布您的完整表格..
-
enctype 在这种情况下无关紧要
-
请同时添加您的 PHP 代码
-
PHP 代码目前只是 $_POST 和 $_FILES 的 print_r。当这些给出正确的值时,我知道该怎么做。 (实际上是那些的 file_put_contents,因为这是一个“后端调用”)
标签: javascript php ajax post