我正在尝试实现Dropzone JS以帮助将文件上传到服务器.我在客户端使用Dropzone的通用实现,我的html看起来像这样:
<form id='portfolioupload' action='PortfolioUpload.php' class='dropzone'>
<div class='fallback'>
<input name='file' type='file' />
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
在服务器中,我做了一些检查,最后,我重命名该文件并将其移动到最终位置:
$newname = substr(GetGUID(false), -7) . '.' . $ext;
move_uploaded_file($_FILES['file']['tmp_name'], PortfolioPath() . $newname)
Run Code Online (Sandbox Code Playgroud)
我使用json传回这些信息,如Dropzone.js中所述 - 如何从服务器中删除文件?:
header_status(200); // output header, error 200
echo json_encode(array("Filename" => $newname));
Run Code Online (Sandbox Code Playgroud)
那里的代码示例看起来像是将它添加到一个可以传递给服务器进行删除的数组中.如此接近,但不是我想要的.
然后我偶然发现了一个问题,如何从dropzone.js上传和删除文件,并看到我可以监听removedfile事件.所以我在那里实现代码:
Dropzone.options.portfolioupload = {
acceptedFiles: '.png, .jpg, .gif',
addRemoveLinks: true,
maxFiles: 25,
maxFilesize: 500000,
removedfile: function(file) {
alert('Deleting ' + file.name);
var name = file;
$.ajax({
type: 'POST',
url: 'app/assets/PortfolioUpload.php',
data: …Run Code Online (Sandbox Code Playgroud)