4

我正在使用船长上传文件,一切正常,但我对选项 saveAs 有问题,因为我正在通过函数分配它的值但它不起作用,我如何分配 req.param(' titulo') + 选项 saveAs 的文件扩展名?

var path = require('path');

module.exports = {

'save':function(req,res,next){

    var uploadOptions = {
        dirname: sails.config.appPath + '/assets/books',
        saveAs: function(file){
            return req.param('titulo')+path.extname(file.filename);
        },
        maxBytes: 20 * 1000 * 1000
    }

    req.file('archivoPath').upload(uploadOptions,function(err,files){
        if(err){
            return res.serverError(err);
        }
        else{
            console.log(files);
        }
    });

    Book.create(req.params.all(),function bookCreated(err,book,next){
        if(err) {
            console.log(err);
        }
        return res.redirect('/book/books');
    });
}

};

我也很想知道文件夹 assets 内部是否是上传 pdf 文件以在我的前端显示的好地方,ty。

4

1 回答 1

3

我通过替换 saveAs 函数解决了这个问题:

saveAs: function(file){
    return req.param('titulo') + path.extname (file.filename);
},

具有以下内容:

saveAs: function (__newFileStream, cb) {
    cb(null, req.param('titulo') + path.extname(__newFileStream.filename));
},
于 2014-10-17T17:54:55.803 回答