我遇到了Dropzone JS的问题。我已经测试了我的PHP脚本而没有使用Dropzone(如下所示)并且正在按预期工作。
HTML
<form action="ajax.php?=addLogo" class="dropzone" id="dropzone" enctype="multipart/form-data">
<div id="uploadme" class="fallback">
<input name="file" type="file" multiple />
</div>
</form>
AJAX.PHP &gt;案例:“addLogo”
case 'addLogo':
$uploadTo = fullPath.'cache/Logo/';
$uploaded = uploadFile($_FILES['file']['name'], $uploadTo, $_FILES['file']['tmp_name']);
echo $uploaded;
exit;
break;
功能:“uploadFile”
function uploadFile($origin, $dest, $tmp_name) {
$origin = strtolower(basename($origin));
$parts = explode(".",$origin);
$fileext = '.'.array_pop($parts);
$filename = implode('.', $parts);
$filename = trim(purify($filename), '-');
$fulldest = $dest.$filename.$fileext;
for ($i=1; file_exists($fulldest); $i++) {
$filename = $filename .'-'. rand();
$fulldest = $dest.$filename.$fileext;
}
if (move_uploaded_file($tmp_name, $fulldest))
return $filename;
return false;
}
Javascript / JQuery Call &gt;悬浮窗
jQuery(document).ready(function () {
var acceptedFileTypes = "image/*, application/pdf, .doc, .docx, .csv, .xls, xlsx";
Dropzone.options.dropzone = {
url: $("dropzone").attr("action"),
uploadMultiple: true,
parallelUploads: 5,
maxFiles: 5,
paramName: "file",
maxFilesize: 6,
acceptedFiles: acceptedFileTypes
}
});
发生了什么? dropzone被加载,允许我在上传完成后选择“接受的文件类型”(带绿色勾号) - 当我检查FTP时,该位置没有文件。
我对我的PHP代码进行了进一步测试,并使用了一个简单的文件上传HTML代码,如下所示:
<FORM ACTION="ajax.php?a=addLogo" METHOD="POST" enctype="multipart/form-data">
<input type="file" name="file" >
<input type="submit" value="Upload File Test">
</FORM>
它完美无缺,文件上传并重命名文件等。 在检查编译页面的源代码(使用Dropzone,使用Inspect Element)时,我注意到了这一点:
<input type="file" multiple="multiple" accept="image/*, application/pdf, .doc, .docx, .csv, .xls, xlsx" style="visibility: hidden; position: absolute; top: 0px; left: 0px; height: 0px; width: 0px;">
自动放置的输入元素没有“Name”属性?这可能是我问题的原因吗?
由于