簡體   English   中英

使用multer上傳文件

[英]uploading file with multer

我是js新手,目前正在嘗試使用multer上傳一些文件。 這是我的代碼:

let express = require('express');
let im = require('imagemagick');
let gm = require("gm").subClass({
    imageMagick: true
});
let multer  = require('multer');

let app = express();

let storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, '/uploads')
    },
    filename: function (req, file, cb) {
        cb(null, file.fieldname + '-' + Date.now())
    }
});
var upload = multer({storage: storage}).single('avatar');

app.post('/', function (req, res) {
    upload(req, res, function (err) {
        if (err instanceof multer.MulterError) {
            res.json({
                success: false,
                message: 'error during uploading'
            });
        } else if (err) {
            res.json({
                success: false,
                message: 'error during uploading'
            });
        }

        res.json({
            success: true,
            message: 'Image uploaded'
        });
    })
})

app.listen(3000);

當我發送帶有文件(表單數據)的請求后,然后我收到一條成功消息,但是未創建包含該文件的文件夾

發布請求

編輯:

我設法上傳了文件...我不得不在代碼中更改上載目錄的路徑,如下所示:

let storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, './uploads/')
    },
    filename: function (req, file, cb) {
        cb(null, file.originalname)
    }
});

但是, 上載目錄不必手動創建,如果缺少,則不會自動創建...如何解決此問題?

您可以查看此問題: https : //github.com/expressjs/multer/issues/287

它說您應該在“目的地”或作為先決條件下創建目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM