私はdropzoneベースのファイルアップローダーを持っています。私はそれのためのコードを以下に提供します。Dropzone.jsはウィンドウにファイルをアップロードしません
私は、ubuntuマシンを使用しています。私のサーバーコードは、node.jsであり、multerライブラリに基づいており、ubuntuマシン上でも実行されています。フロントエンドは、Apacheサーバー上で実行されます。窓のマシン(私はそれが違いを生むかもしれないので、これらすべてを言っています、私はそれが望んでいないと思っています)。
私のubuntuマシンにファイルをアップロードするたびにスムーズなセーリングが行われます。任意のWindowsマシンでファイルをアップロードすると、ファイルのアップロードが完了します(進捗バーは通常通り0から100になります)が、要求はサーバーに到達しません(少なくともサーバーログには表示されません)。
ドロップゾーンフォームの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!' });
});