标签: formidable

nodejs强大的改变uploadDir

我有一个proyect,即时通讯试图完成我想上传图像我可以上传图像但不在上传用于上传的目录

好吧让代码:

 app.post('/register',function(req,res) 
    {
var form = new formidable.IncomingForm();
form.keepExtensions = true;
form.uploadDir ='./uploaded/';
form
    .on('error', function(err) {
        throw err;
    })

    .on('field', function(field, value) {
        //receive form fields here
    })

    /* this is where the renaming happens */
    .on ('fileBegin', function(name, file){
            //rename the incoming file to the file's name
            file.path = form.uploadDir + "/" + file.name;
    })

    .on('file', function(field, file) {
        //On file received
    })

    .on('progress', function(bytesReceived, bytesExpected) {
        //self.emit('progess', bytesReceived, bytesExpected)

        var percent = (bytesReceived / bytesExpected * …
Run Code Online (Sandbox Code Playgroud)

node.js express formidable

3
推荐指数
1
解决办法
4722
查看次数

form.parse()方法没有在node.js中调用

我正在使用强大的包来上传文件.这是我的服务器端代码.

var formidable = require('formidable'),
    http = require('http'),
    util = require('util');
    app.post('/admin/uploads', function(req, res) {
         console.log(req.files, req.fields);//It prints
         var form = new formidable.IncomingForm(); 
         form.parse(req, function(err, fields, files) {
        console.log("Inside form parse.");//its not printing
        console.log(err, fields, files);//its not printing
         });
    form.on('file', function(name, file) {console.log('file='+file);});//its not printing
    form.on('error', function(err) { console.log(err); });//its not printing
    form.on('aborted', function() { console.log('Aborted'); });//its not printing
    console.log(form);//it prints


  });
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,form.parse()方法没有被调用.请为此问题提供解决方案.

node.js formidable

3
推荐指数
3
解决办法
3897
查看次数

如何使用 Next JS 和 Zeit Now 和强大的无服务器将文件上传到 S3

抱歉我英语不好。它适用于本地主机,但不适用于生产。(使用 ZEIT NOW 部署)

这是上传.ts

import { NextApiRequest, NextApiResponse } from 'next'
import AWS from 'aws-sdk';
const formidable = require("formidable-serverless");
AWS.config.region = 'ap-northeast-2';

export const config = {
  api: {
    bodyParser: false,
  }
}

export default async (req:NextApiRequest, res:NextApiResponse) => {
  const data = await new Promise(function(resolve, reject) {
    const form = formidable();

    form.keepExtensions = true;
    form.keepFilename = true;

    form.parse(req, (err:any, fields:any, files:any) => {

      const s3 = new AWS.S3({
        accessKeyId: process.env.AWS_ACCESS_KEY_CODE,
        secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY_CODE
      });

      const params = {
        Bucket: …
Run Code Online (Sandbox Code Playgroud)

upload amazon-s3 formidable next.js serverless

3
推荐指数
2
解决办法
4263
查看次数

在表单提交/节点之后阻止页面重新加载(没有可用的ajax)

美好的一天,我有一个表单,用于将字段和文件发送到node.js服务器.在服务器上由Formidable解析的数据.一切都运行良好,但在表单提交后,它会加载一个带有响应的页面.有没有人知道使用标准表单机制发送数据的方式不是重新加载页面(带有serialize的jQuery ajax方法因为表单中文件而无法工作)要么在服务器上写这样的响应,所以它不会触发页面重新加载.形成:

<form action="/upload" enctype="multipart/form-data" method="post" id="eventForm">
<label>Date</label>
<input type="text" name="date"/>
<label>Image</label>
<input type="file" multiple="multiple" name="picture" />
<input type="submit" value="Submit!" />
</form>
Run Code Online (Sandbox Code Playgroud)

服务器端:

app.post('/upload', function (req, res) {
    var form = new formidable.IncomingForm();
    // save file code goes here 
    form.parse(req, function(err, fields, files) {
        //response code goes here
        res.send('done');
    });
});
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?谢谢!

javascript forms ajax node.js formidable

2
推荐指数
1
解决办法
9963
查看次数

我可以同时使用body-parser和Formidable吗?

我试着解决几天的问题,但无法理解一些事情.我有一个使用NodeJS和ExpressJS创建的网站,并且为了处理表单,我使用了body-parser.

    var adName = req.body.adName;
    var adMessage = req.body.adMessage;
    var phone = req.body.phone;
    var rawPrice = req.body.price;
    var rawCurrency = req.body.currency;
Run Code Online (Sandbox Code Playgroud)

因此,使用此方法我处理表单值.但现在,我需要使用node-formidable来解析用户的图像.问题是,我可以以某种方式使用强大的图像和身体解析器的形式吗?或者,任何人都可以帮助我强大,了解如何处理表单并将值附加到我的变量?

javascript node.js express formidable body-parser

2
推荐指数
2
解决办法
4177
查看次数

Formidable 返回 TypeError,ERR_INVALID_ARG_TYPE:“path”参数未定义

我在使用 formidable 上传文件时遇到问题。我在 Windows Server 2016 上。

我的代码完整如下所示,基于https://www.geeksforgeeks.org/how-to-upload-file-using-formidable-module-in-node-js/

const express = require('express');
const fs = require('fs');
const path = require('path')
const formidable = require('formidable');
   
const app = express();
   
app.post('/api/upload', (req, res, next) => {
    
    const form = new formidable.IncomingForm(
        { uploadDir: __dirname + '\\tmp',  keepExtensions: true }
    );
    form.parse(req, function(err, fields, files){
        var oldPath = files.profilePic.path;
        var newPath = path.join(__dirname, 'uploads')
                + '/'+files.profilePic.name
        var rawData = fs.readFileSync(oldPath)
      
        fs.writeFile(newPath, rawData, function(err){
            if(err) console.log(err)
            return res.send("Successfully uploaded")
        })
  })
});
   
app.listen(3000, …
Run Code Online (Sandbox Code Playgroud)

file-upload node.js formidable

2
推荐指数
1
解决办法
5212
查看次数

如何使用强大的(NodeJs)获取此文件的名称

我有一个使用 nodejs + express 的表单

玉文件:

form(method="post", action="/upload", enctype="multipart/form-data")
  input(type="file" name="image")
  button(type="submit") Upload
Run Code Online (Sandbox Code Playgroud)

Index.js 并非所有代码只是必需的

var formidable = require('formidable'),
http = require('http'),
util = require('util');
var fs = require('fs');


MyProject.post('/upload',function(req, res){
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) 
{
  console.log(files);
});
Run Code Online (Sandbox Code Playgroud)

当我使用 console.log(files) 结果是这样的

{ iProducto:
  { domain: null,
 _events: {},
 _maxListeners: 10,
 size: 1262294,
 path: 'C:\\DOCUME~1\\ADMINI~1\\CONFIG~1\\Temp\\556696bb1c0c6a54362b746c4445
  45ca',
 name: 'Dibujo.bmp',
 type: 'image/bmp',
 hash: null,
   lastModifiedDate: Mon Jun 09 2014 21:25:42 GMT-0100 (Hora estándar de Cabo
 Verde),
 _writeStream:
  { …
Run Code Online (Sandbox Code Playgroud)

javascript forms node.js express formidable

1
推荐指数
1
解决办法
3506
查看次数

Azure Functions 使用节点强大解析表单数据

这是一个小的Azure功能,我正在尝试使用强大的节点获取帖子表单字段。

    module.exports = function (context, req, intable) {
    var formidable = require('formidable');
    var form = new formidable.IncomingForm(),
        fields = [];

    ----> form.parse(context.req, function(err, fields, files) {
        context.log(fields);
        context.done();
        return;
    });
    return;
};
Run Code Online (Sandbox Code Playgroud)

在代码中带有箭头的行中,它给出错误TypeError: req.on is not a function。不知道该怎么做,任何帮助将不胜感激。

multipartform-data azure node.js formidable azure-functions

1
推荐指数
1
解决办法
1257
查看次数

NodeJS - 强大的 200 MB 文件限制和崩溃

我有 nodejs 服务器:

var http = require('http');
var formidable = require('formidable');
var fs = require('fs');
http.createServer(function (req, res) {
  if (req.url == '/fileupload') {
    console.log(req.rawHeaders)
    var form = new formidable.IncomingForm();
    form.parse(req, function (err, fields, files) {
      if (err) throw err;
      var oldpath = files.file.path
      var newpath = 'C:/VSI/' + files.file.name;
      fs.rename(oldpath, newpath, function (err) {
        //if (err) throw err;
        //res.write('File uploaded and moved!');
        if (err) {
          res.write(JSON.stringify({
            success: false,
            message: 'error happend'
          })
          );
          res.end()
          throw err;
        }

        res.write(JSON.stringify({
          success: …
Run Code Online (Sandbox Code Playgroud)

networking node.js formidable retrofit2

1
推荐指数
1
解决办法
3188
查看次数