解析过程中的强大库存 [英] Formidable stock during parse

查看:46
本文介绍了解析过程中的强大库存的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我开始使用我的应用程序上传文件时,第一步之后就可以库存了.上载功能的波纹管代码

When I'm starting to upload file with my app it stock after first step. Bellow code of upload function

exports.upload = function(req, res){
    var form = formidable.IncomingForm();
    console.log('Upload');
    form.parse(req, function(err, fields, files){
        if(err){
            console.log(err);            
            res.send(err);
            return;
        }
        console.log('Parsing');
        fs.readFile(files.image.path, function(err, data){
            if(err){
                res.send(err);
            }
            var imageName =  files.image.name;
            if(!imageName){
                console.log("Parsing issue - sending 500");
                res.writeHead(500, {'Content-type':'text/plain'});
                res.write('Parsing error');
                res.end();
                return;
            }
            var fullPath = photoDir + imageName;
            var thumbPath = thumbDir + imageName;
            fs.writeFile(fullPath, data, function(err){
                im.resize({
                    srcPath: fullPath,
                    dstPath: thumbPath,
                    width: 100
                },function(err, stdout, stderr){
                    if(err){
                        console.log(err);
                        res.send(err);
                        return;
                    }
                    var newPhoto = new Photo({
                        'fullsize_name':imageName,
                        'thumbsize_name':imageName
                    });
                    newPhoto.save(function(err){
                        if(err){
                            res.send(err);
                        }
                        res.json(newPhoto);
                        console.log(newPhoto);
                    });
                });
            });
        });
    });
}

和服务器配置部分

var express = require('express');
var logger = require('morgan');
var body_parser = require('body-parser');
var mongoose = require('mongoose');
var passport = require('passport');
var multipart = require('connect-multiparty');
.
.
.
var app = express();
var router = express.Router();
var multipartMiddleware = multipart();
.
.
.
/** PHOTO OPERATIONS **/
router.route('/photos')
    .post(authController.isAuthenticated, photoController.upload);
.
.
.
app.use(passport.initialize());
app.use(logger('dev'));
app.use(multipartMiddleware);
app.use(body_parser.json());
app.use(body_parser.urlencoded({
    extended: true
}));

app.use('/api', router);

您知道为什么我打电话时会停止

Do you have any idea why it is stopping when I'm calling

form.parse(要求,函数(错误,字段,文件){

form.parse(req, function(err, fields, files){

推荐答案

您是否在html文件的表单标记中错过了{enctype ='multipart/form-data'}?添加可能可行.

Have you missed { enctype='multipart/form-data' } in form tag in your html file? Adding that might work.

这篇关于解析过程中的强大库存的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆