首页 > iOS,Nodejs图片上传问题

iOS,Nodejs图片上传问题

ios端代码:

let image = goodPhoto[0]
let imageData = UIImageJPEGRepresentation(image, Constants.goodPhotoCompressionQuality)
        
if let imageData = imageData {
   uploadGoodPhotoWithImageData(imageData)
}

func uploadGoodPhotoWithImageData(imageData: NSData) {
    
    let header: [String : String] = [
        "Authorization": "Bearer \(Provider.readToken())"
    ]
    
    let name = "good"
    
    let filename = "good.jpg"
    
    Alamofire.upload(.POST, URLString.uploadURLStr + "/good", headers: nil,
        multipartFormData: {
            multipartFormData in
            
            multipartFormData.appendBodyPart(data: imageData, name: name, fileName: filename, mimeType: "image/jpeg")
        },
        encodingCompletion: {
            encodingResult in
            
            switch encodingResult {
            case .Success(let upload, _, _):
                upload.responseJSON{ response in
                    debugPrint(response)
                }
            case .Failure(let encodingError):
                print("Upload failed with error: \(encodingError)")
            }
        }
    )
}

后台代码:

var express = require("express");
var multer = require('multer');
var app = express();

function handleError(res, err) {
    return res.json(500, err);
};

var storage = multer.diskStorage({
    destination: function (req, file, callback) {
        console.log('b');
        callback(null, './uploads');
    },
    filename: function (req, file, callback) {
        console.log('b');
        callback(null, file.fieldname + '-' + Date.now());
    }
});

// var upload = multer({dest: 'photo/good/'}).single('good');
var upload = multer({storage: storage}).single('good');

exports.uploadGood = function (req, res) {

    upload(req, res, function(err) {
        console.log(err);
        if (err) {
            return handleError(res, err);
        }
        res.json(200, {msg: "File is uploaded"});
    });
};

后台报了500错误,我console.log(err)是这样的

求大神解答


找不到路径,可能是你没有新建uplaods目录


multer没用过,简单看了一下,基于busboy的,那么这个文件是直接写到了静态文件服务器/缓存还是通过GridFS存到了MongoDB,如果是做保存静态文件的操作,会不会是权限的问题?

【热门文章】
【热门文章】