recherche

Maison  >  Questions et réponses  >  le corps du texte

node.js - 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)是这样的

求大神解答

阿神阿神2889 Il y a quelques jours185

répondre à tous(2)je répondrai

  • 大家讲道理

    大家讲道理2017-04-17 17:34:36

    Le chemin est introuvable, peut-être que vous n'avez pas créé de nouveau répertoire uplaods

    répondre
    0
  • 迷茫

    迷茫2017-04-17 17:34:36

    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 ?

    répondre
    0
  • Annulerrépondre