【发布时间】:2020-12-16 09:11:09
【问题描述】:
我正在尝试通过 Multer 将文件上传到服务器。这段代码所做的只是创建文件夹而不是文件。我也尝试使用 github 上的教程,但也没有运气 我在前端
上的代码<p class="font-weight-bolder mb-3">Upload Screenshot
<form enctype="multipart/form-data"></form><input id="uploadFile" type="file" name="image" />
</p>
代码AJAX
$('#uploadFile').on('change', function(){
var file = $(this).get(0).files[0];
console.log(typeof file);
console.log(file)
console.log(file.name)
var formData = new FormData();
formData.append('Upload', file, file.name);
$.ajax({
url: $(this).attr('action') || window.location.pathname + '/repr_screenshot',
type: "POST",
data: file,
cache: false,
processData: false,
success: function(data){
console.log("success")
},
error: function(data){
console.log("file not uploaded")
}
});
})
还有 MAIN.JS
var multer = require('multer')
var storage = multer.diskStorage({
destination: 'views/repr/mixin/screenshots',
filename: '/file.png'})
var upload = multer({storage: storage,
onFileUploadStart: function (file) {
console.log(file.originalname + ' is starting ...')
}
});
router.post('/repr_screenshot', upload.single('image'), function (req, res, next) {
console.log(req.file);
return false;
})
我从前端得到的 console.log 输出:
Object
File {name: "Capture.PNG", lastModified: 1597907180050, lastModifiedDate: Thu Aug 20 2020 10:06:20 GMT+0300 (Eastern European Summer Time), webkitRelativePath: "", size: 89172, …}
Capture.PNG
console.log(req.file) 的输出是“未定义”
【问题讨论】:
标签: javascript node.js ajax