0
我想有一種方式,以便用戶可以選擇圖像發送與審查。錯誤:意外的字段。從dropzone.js使用uploadMultiple
所以我用dropzone.js。似乎在一次請求中發送多個圖像時出現問題。我認爲req.files會包含一個文件數組,但這並沒有發生。現在我看到一個問題,因爲dropzone增加了[]
與名稱參數裏面的索引。添加到圖像懸浮窗時
我看到請求負載是這樣的:
------WebKitFormBoundaryJOpGX6kWaoknKhIN
Content-Disposition: form-data; name="images[0]"; filename="data.png"
Content-Type: image/png
------WebKitFormBoundaryJOpGX6kWaoknKhIN
Content-Disposition: form-data; name="images[1]"; filename="loginButton.png"
Content-Type: image/png
------WebKitFormBoundaryJOpGX6kWaoknKhIN--
我覺得[0]
和[1]
引起我的問題
服務器:
app.post("/files" , upload.array("images"), (req, res) =>{
console.log("hit here")
console.log("req.file :", req.file)
// console.log(req.body)
console.log(req.files)
res.send("ok")
})
簡單Mulder:我之前有過更復雜的一件
var upload = multer({ dest: "./uploads" })
前端:
<script src = "/dropzone.js"></script>
<script>
$(function(){
Dropzone.autoDiscover = false;
var myDropZone = new Dropzone(".dropzone", {
url : "/files",
// uploadMultiple : true,
autoProcessQueue : false,
parallelUploads: 5,
paramName: "images",
uploadMultiple: true,
init : function(){
this.on("success", function(){
// alert("success")
})
this.on("sendingmultiple", function(){
console.log("SENDING MULTIPLE");
})
this.on("errormultiple", function(files, response){
console.log("ERROR");
console.log(response);
console.log(files);
})
}
})
$("#skip, #login").on("click", function(e){
myDropZone.processQueue();
})
})
</script>
<div class = "dropzone"></div>
<div id = "skip"> skip </div>
<div id = "login">login</div>
當我擺脫uploadMultiple: true,
我得到在FS的圖像,但它看起來像多POST請求作了沒有req.files
陣列多個圖像。我以爲會有
這看起來非常好。我認爲我清楚地跟蹤了文檔,這讓我陷入困境。我不知道我應該使用一個函數。現在我看到'files'中的數組,我稍後再做更多測試時會接受這個答案。謝謝。這很有幫助。 –