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)是这样的
求大神解答
Le chemin est introuvable, peut-être que vous n'avez pas créé de nouveau répertoire uplaods
Je n'ai jamais utilisé multer auparavant. J'ai jeté un coup d'œil rapide et il est basé sur busboy. Ce fichier est-il donc écrit directement sur le serveur/cache de fichiers statiques ou stocké dans MongoDB via GridFS ? fichier, s'agira-t-il d'un problème d'autorisation ?