Node.js+Expressアップロードファイル

2246 ワード

Node.js+Expressアップロードファイル


ラベル(スペース区切り):Node.js

Multierミドルウェアのインストール


MultierはExpressの公式推奨ファイルにアップロードされたミドルウェアです.Multier GitHubアドレスmulterミドルウェアの取り付け
npm install --save multer

プロジェクトにファイルアップロード機能を統合

var express = require('express');
var router = express.Router();
//     
var fs = require('fs');
//     
var multer = require('multer');
//        (        file)
var upload = multer({ dest: 'uploads/'}).single('file');

//      
router.post("/",upload,function(req,res,next){
    //      
    var url = global.baseURL+req.url;

      var obj = req.file;
      console.log('obj====',obj);
      var tmp_path = obj.path;
      var new_path = "public/images";
      console.log("   :" + tmp_path);

      /*        */
      upload(req,res,function(err){
        if (err) {
            console.log('    ');
        }else{
            console.log('    ');
        }
    });

    //       
     res.send({
        'states':'success'
     });
});

アップロードが使用可能かどうかをテストします(IOSコード)

//     
//   ,         file
- (void)uploadFile
{
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    [manager POST:@"http://192.168.199.141:3000/api/user/" parameters:nil constructingBodyWithBlock:^(id  _Nonnull formData) {
        UIImage *image = [UIImage imageNamed:@"jixie"];
        NSData *data = UIImageJPEGRepresentation(image, 1.0);
        [formData appendPartWithFileData:data name:@"file" fileName:@"file.jpg" mimeType:@"image/jpeg"];
    } progress:^(NSProgress * _Nonnull uploadProgress) {
        
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSLog(@"    %@",responseObject);
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSLog(@"    %@",error);
    }];
}

おすすめ記事:Nodejs ExpressファイルアップロードのMultier
node.js+expressファイルアップロードおよび画像アップロード
Node.jsファイルシステム、パスの操作関数
Multier GitHubアドレス