我正在尝试通过dropzone将一个特定的 - 已知的图像文件位置ID发送到后端,该后端将上传到服务器上。
虽然正在使用formData.append()
,但我发现没有附加任何内容。仅仅是这个" FormData {}
"出现了。
dropzoneObject.on("sending", function(file, xhr, formData){
var nameOfFile = $(file.previewElement).find(".dz-filename").text();
var positionOfFile = fpos;
//console.log("The file who's being sent is named: "+nameOfFile+" and its position id is: "+positionOfFile);
formData.append("fpos", fpos);
});
我希望在例子中看到fpos = 16;
答案 0 :(得分:7)
不知道您的特定错误,但这里有一个简单的示例,说明如何使用jQuery使用dropzone发送附加数据并在后端使用php接收它。
HTML:
<form id="myForm" class="dropzone"></form>
JS:
Dropzone.autoDiscover = false;
$('.dropzone').dropzone ({
url: "upload.php",
init: function() {
this.on("sending", function(file, xhr, formData){
formData.append("fpos", 777)
}),
this.on("success", function(file, xhr){
alert(file.xhr.response);
})
},
});
成功事件仅用于演示如何访问服务器发送的响应:
php:
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
echo "RECEIVED ON SERVER: \n";
echo "FILES: \n";
print_r($_FILES);
echo "\$_POST: \n";
print_r($_POST);
}
php只是向客户端发回收到的相同数据,只是为了显示可以访问的位置。