【发布时间】:2016-11-03 12:57:32
【问题描述】:
我有一个基于 dropzone 的文件上传器。我将在下面提供它的代码。让我先解释一下这个问题:
我使用的是 ubuntu 机器,我的服务器代码是 node.js,基于 multer 库,也在 ubuntu 机器上运行,前端在 windows 机器上的 apache 服务器上运行(我是说所有这些,因为它可能会有所作为,但我希望不会)。
每当我在我的 ubuntu 机器上上传文件时,一切都很顺利。每当我在任何 Windows 机器上上传文件时,文件上传都会完成(进度条以正常方式从 0 变为 100),但请求永远不会到达服务器(至少它永远不会出现在服务器日志上)。
dropzone 表单的 HTML:
<div id="shp" class="uploader">
<form enctype="multipart/form-data" action="http://serverip:9601/uploadpath"
method="post"
class="dropzone"
id="dropzone">
</form>
<button id="submit">Upload</button>
</div>
Javascript(客户端):
Dropzone.options.dropzone = {
// Prevents Dropzone from uploading dropped files immediately
acceptedFiles: ".zip",
addRemoveLinks: true,
autoProcessQueue: false,
init: function() {
var submitButton = document.getElementById("submit");
var dropzone = this; // closure
submitButton.addEventListener("click", function() {
totalProgress = 0;
dropzone.processQueue(); // Tell Dropzone to process all queued files.
});
},
maxFiles : 1,
parallelUploads: 10000,
paramName: myParamName,
uploadMultiple: false
};
function myParamName(){
return "file";
}
Node.js:
router.post('/uploadpath', upload.single('file'), (req, res, next) => {
//Do some stuff
res.status(200).send({ success: true, message: 'Upload Completed!' });
});
【问题讨论】:
标签: javascript node.js ubuntu file-upload dropzone.js