【发布时间】:2016-10-11 07:11:10
【问题描述】:
您好,我是 jquery 和 dropzone 库的新手, 我无法使用 dropzone 上传文件。每当我将多个图像或文档拖放到 dropzone 中并单击提交时,我都想使用 dropzone 进行多个文件上传,我已经编辑并更改了所有代码,但它仍然无法正常工作。我无法将文件移动或上传到文件夹中. 请提供任何帮助和建议。我在这里作为参考https://github.com/enyo/dropzone/wiki/Combine-normal-form-with-Dropzone.
Javascript
var unique = 'ufiles';
Dropzone.options.myAwesomeDropzone = {
url: "../../scripts/submission-upload.php",
autoProcessQueue: false,
autoDiscover: false,
uploadMultiple: true,
parallelUploads: 100,
paramName: unique,
previewsContainer: ".dropzone-previews",
maxFilesize: 50, //MB
maxFiles: 100,
acceptedFiles: "image/*, application/pdf, .doc, .docx",
addRemoveLinks: true,
dictRemoveFile: 'Remove',
dictFileTooBig: 'File is bigger than 50MB',
accept: function(file, done) {
console.log("uploaded");
done();
},
error: function(file, msg){
alert(msg);
},
init: function () {
var myDropzone = this;
// First change the button to actually tell Dropzone to process the queue.
$('input[type=submit]').on("click", function(e){
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
//$("#upload-forms").submit();
});
// Listen to the sendingmultiple event. In this case, it's the sendingmultiple event instead
// of the sending event because uploadMultiple is set to true.
this.on("sendingmultiple", function() {
// Gets triggered when the form is actually being sent.
// Hide the success button or the complete form.
$("#upload-forms").submit();
});
this.on("successmultiple", function(files, response) {
// Gets triggered when the files have successfully been sent.
// Redirect user or notify of success.
});
this.on("errormultiple", function(files, response) {
// Gets triggered when there was an error sending the files.
// Maybe show form again, and notify user of error
});
}
}
上传 PHP
$uploaddir = '../submissions/';
$uploadfile = $uploaddir.$_FILES['ufiles']['name'];
foreach ($FILE['ufiles']['tmp_name'] as $file) {
echo $file;
if (move_uploaded_file($_FILES['ufiles']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Error!\n";
}
}
HTML
<form method="post" action="scripts/submission-upload.php" id="upload-forms" enctype="multipart/form-data">
<div class="dropzone dropzone-previews" id="my-awesome-dropzone">
<div class="fallback">
<input name="file[]" type="file" multiple>
</div>
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
【问题讨论】:
-
控制台是否出现任何错误?
-
不,它只是无法找到 id="uploadedfiles" 即使我尝试回显 $uploadfile;什么都没有出来..
-
试试
echo $_FILES['file']['name']
标签: javascript php jquery dropzone.js