Node js multer 文件上传不起作用。 req.file 和 req.files 始终未定义

2023-12-05

我正在尝试将文件上传到我的服务器,但是req.file and req.files在我的 POST REST 端点上始终未定义。

我尝试上传的内容是“.dat”文件,我期待 json 响应。

这是我的代码:

服务器端:

var express = require('express');
var multer  = require('multer')
var upload = multer({ dest: 'uploads/' })

var app = express()

app.post('/creoUpload', upload.single('uploadFileField'), function(req, res, next) {
  console.log("req.file = ",JSON.stringify(req.file)); //is undefined
  console.log("req.files = ",JSON.stringify(req.files)); //also undefined
});

客户端:

<form id="creoUploadForm" action="/creoUpload" enctype="multipart/form-data" method="post">
    <input type='file' name='uploadFileField'><br><br>
    <input type='submit' value='Upload'/>
</form>

JS:

$( "#creoUploadForm" ).submit(function( event ) {
    event.preventDefault();
    var formData = new FormData($(this)[0]);
    $.ajax({
          url: '/creoUpload',
          type: 'POST',
          data: formData,
          async: true,
          cache: false,
          contentType: false,
          processData: false,
          success: function (returndata) {
              console.log("RETURN DATA IS: ",returndata);
          },
          error: function (err) {
              console.log("ERROR: ",err);
          }
    });
});

我一直在田野里玩耍,但它不起作用......有人看到我在这里做错了什么吗?

我正在按照以下示例https://www.npmjs.com/package/multer

版本:

  • 快速版本:4.12.0
  • 节点版本:6.5.0
  • jQuery:1.12.1

谢谢你!


您正在使用 multer 作为中间件,因此在进入您的功能并打印之前,已将图像上传到存储并从中删除记录请求文件.

您可以通过两种方式访问​​ req.files。

  1. 使用 multer 作为由下式表示的函数finw3.

  2. 另一个解决方案是:

//代码开始

var storage = multer.diskStorage({

  destination: function (req, file, cb) {

    cb(null, '/filepath')
  },


  filename: function (req, file, cb) {

    let filename = 'filenametogive';
     req.body.file = filename

    cb(null, filename)
  }
})

var upload = multer({ storage: storage })

//代码结束

现在您可以访问 req.body.file 中的文件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node js multer 文件上传不起作用。 req.file 和 req.files 始终未定义 的相关文章

  • 隐藏加载失败的图片

    我有一个 Android 应用程序 它生成一些在本地 Webkit 视图中呈现的 HTML HTML 生成的细节实际上并不那么重要 除了 大部分来自一个地方 我无法改变它 HTML 周围的模板 包括页眉 页脚 HEAD 等 CSS 和 Ja
  • mime.lookup 的 webrtc 错误

    我在我的电脑上尝试了 webrtc 演示 但在演示步骤 04 中 当我使用 npm install 和 node index js 时 它显示 类型错误 mime lookup 不是一个函数 即使我通过输入 npm install mime
  • React Native 中的动画背景颜色

    我将如何在 React Native 中将一种颜色动画化为另一种颜色 我发现通过插入 Animated Value 您可以通过以下方式对颜色进行动画处理 var BLACK 0 var RED 1 var BLUE 2 background
  • javascript 中的正则表达式和分隔符

    我不太擅长正则表达式 我需要一些帮助 但我被困住了 这就是我得到的 编辑 现在工作正常 看看 http jsfiddle net oscarj24 qrPHk 1 http jsfiddle net oscarj24 qrPHk 1 这就是
  • Backbone.js 和本地存储。必须指定“url”属性或函数

    我正在提高有关 Backbone js 的知识 并从教程中获取了此代码示例 http bardevblog wordpress com 2012 01 16 understanding backbone js simple example
  • JavaScript switch 语句是线性的还是恒定时间的?

    我的网站上有以下 JavaScript 以便在执行某些特定搜索时 答案会被硬编码到特定页面 function redirect var input document getElementById searchBox value toLowe
  • 创建一个通用函数以将其用于其他数据

    我正在制作一个项目列表 并希望随着数量变化计算其值 但如何使该函数通用以便我可以将它用于所有行 你能建议一些最好和简单的方法 但请记住我想这样做仅限 JavaScript table thead tr th Name th th Quant
  • 如何从 HTML 图表中删除网址 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在 HTML 中创建一个图表 我正在使用 API amCharts 但问题是它在图表中显示文本 amchart 我怎样才能删除该文本
  • Mongo JSON 文档 -> JSON -> BSON

    我正在使用 Node js 构建一个使用 mongodb 的 Web 套接字服务器 我使用 node mongodb native 作为访问 mongodb 的库 当我对数据库中的对象调用 console log sys inspect i
  • 如何将 props 传递给模态

    我有一个购物应用程序 我可以在其中映射一些产品并将它们呈现在屏幕上 用户可以增加 减少数量 当数量达到 1 并且用户点击减少时 一些中间件会介入并询问他们是否确定要将其从购物篮中删除 如果他们单击 否 则会关闭模式并将其留在购物篮中 如果他
  • 如何根据父网格的标题复选框选择/取消选择所有子复选框

    我正在开发一个 Web 应用程序 其中包含嵌套在另一个数据网格中的数据网格 在父网格中 我在标题模板中有一个复选框 在子网格中的项目模板中有另一个复选框 功能是 1 如果我单击父复选框 则应检查子网格中的所有项目 反之亦然 2 我的子网格中
  • Bootstrap 5 个带有下一个/上一个按钮的选项卡

    如何向 Bootstrap 5 选项卡添加上一个 下一个按钮 我尝试过使用以前版本的推荐方法 但结构必须不同 我在 jQuery 中缺少什么 btnNext click function nav tabs gt active next li
  • 为什么“jQuery-Rails”经常位于资产组之外

    为什么我经常看到gem jquery rails之外的 assets group group assets do gem sass rails gt 3 1 0 gem coffee rails gt 3 1 0 gem uglifier
  • 删除多个类 (jQuery)

    有没有更好的方法来重写这个 element removeClass class1 removeClass class2 我无法使用removeClass 因为它会删除我不想要的所有课程 element removeClass class1
  • 静态资源和非静态资源有什么区别?

    我主要是一名前端开发人员 设计师 但最近我一直在探索端到端解决方案 昨天 我使用平均堆栈完成了一个 TODO 应用程序 并想开始探索我的 VPS 的部署选项 话虽这么说 有人建议我使用 nginx 作为反向代理来提供静态资源 不幸的是 我陷
  • 以编程方式访问使用数据 URI 作为源的 iframe

    我正在使用 数据 URI 以编程方式创建一个 iframe 该框架加载良好 但似乎以编程方式使用 iframe 会遇到跨域安全检查 var iframeDoc document getElementById myFrame contentW
  • jQuery 仅附加一次

    所以我有这个 jQuery document ready function var nav nav var logo img src img logo png window scroll function if this scrollTop
  • 返回语句后的声明

    function f return f1 function f1 return 5 f returns 5 为什么这有效 之后声明局部函数有什么好处return 这是好的做法吗 它之所以有效 是因为函数声明都是由解释器在第一次传递时评估的
  • 使用与 eval 相反的括号表示法

    我有以下内容 var module function console log module ran var someString module string TypeError object is not a function eval s
  • 未终止的字符串文字

    我有一个 php 脚本 可以在我的服务器上上传 mp3 文件 我使用 上传 有一个事件 onSelect 文档 http www uploadify com documentation events onselect 当文件上传时调用 使用

随机推荐

  • 使用 Scapy 解码基于 UDP 的 RTP

    如何使用 Scapy 2 3 2 解码 和操作 基于 UDP 的 RTP 我有一个名为 rtp pcap 的捕获文件 其中包含到 224 0 1 11 5016 的 RTP 音频流 当您启用 RTP over UDP 协议时 默认关闭 Wi
  • 动作脚本3睡眠?

    我有一个简单的动作脚本函数 var string String TEXT REMOVED var myArray Array string split addEventListener Event ENTER FRAME frameLoop
  • 使用 ASP.net Handler 动态创建 JS 文件

    我有很多客户 我想给他们脚本 所以我想根据他们的客户 ID 创建 JS 文件 这样我就可以返回并直接在客户端执行 客户端可以是任何人 PHP Html ASP net 问题是 当我浏览此链接时 它给了我 JS 字符串 但在客户端 此脚本没有
  • 使用 LINQ 选择数组中最小、最常见的数字

    如果我有一个未排序的数组 其中包含多对相同的数字 我如何找到最常见数字中的最小者 int arr new int 8 6 5 2 5 9 6 9 2 3 unsorted array Array Sort arr I could sort
  • Mobilock 应用程序在 BOOT_COMPLETED 广播之前启动...这怎么可能?

    有一个名为 Mobilock 的信息亭应用程序 这个应用程序的启动速度比我自己的以 BOOT COMPLETED 广播启动的应用程序要快得多 几乎提前了 5 秒 我自己的应用程序具有最高优先级 即整数的最大值 所以这不是优先级的问题 这些人
  • 在 C 中检查变量是字符串还是整数

    我正在编写一个C程序 我必须通过命令行读取参数 如何检查传递给程序的参数是字符串 即字符数组 还是整数 我可以在 C 中使用任何即时调用吗 命令行传递的参数总是字符串 如果你想检查这个字符串是否可以转换为整数 你可以使用strtol cha
  • JPEG 图像中的透明背景

    如何在 JPEG 图像上设置透明背景 这是很多同事的疑问 在 Windows 上使用画图的解决方案是什么 还有哪些其他简单的替代方案 您无法将 JPEG 图像设为透明 您应该使用允许透明的格式 例如 GIF 或 PNG 画图将打开这些文件
  • 无法更改 IOS 上的 .NET MAUI Blazor 启动屏幕

    我尝试遵循有关 NET MAUI 启动画面的所有可用教程 但我无法让我的应用程序显示自定义启动画面 重现问题的步骤 在 PC 上打开 Microsoft Visual Studio 2022 创建新的 NET MAUI Blazor 应用程
  • 有没有办法从 WordPress 的链接生成中排除域

    我有一个在 domain com 上响应的网站 即将x domain com or y domain com应该产生相同的网页 我不知道 是什么 但它是重要的信息 因为我们根据它来跟踪事物 当迁移到 WordPress 时 我们遇到了一个非
  • 未使用 MS_SQL JDBC 为存储过程定义参数 @x

    我正在尝试在方法中使用 SQL Server JDBC 执行存储过程 Connection connection String sp name Map
  • ASP MVC 日期时间验证错误

    在 asp net MVC 5 中 我有一个显示来自 DTO 对象的数据的表单 public class FieldDTO DataType DataType DateTime DisplayFormat ApplyFormatInEdit
  • 使用 GetText 从剪贴板获取文本 - 避免空剪贴板上出现错误

    我正在使用这样的代码从剪贴板获取文本 Dim DataObj As New MSForms DataObject DataObj GetFromClipboard myString DataObj GetText 我使用错误处理来解决剪贴板
  • 如何设置地址簿访问请求警报视图的文本?

    I know that in iOS 6 we should request the access to contacts first like below 但现在我想知道如何在警报视图中添加详细消息 就在警报标题和两个按钮之间 我确实看到
  • 重写成员时违反了继承安全规则 - SecurityRuleSet.Level2

    我有一个继承自 Exception 的类 在 NET 4 中 我开始收到运行时错误 违反继承安全规则 同时重写成员 MyBusinessException GetObjectData System Runtime Serialization
  • Xbox 上的 UWP 应用

    在围绕 Windows 10 的活动和促销期间 我总是看到 UWP 应用程序可以在 Microsoft 系列的所有设备上运行 为了确认这一点 当我在浏览器上浏览 UWP 应用程序并单击以查看应用程序页面的源代码时 我能够看到以下元数据 那
  • Doctrine MongoDB 通过 id 查找

    我正在使用 odm mongo 原则 我必须记录类 class Thing MongoDB Id protected id MongoDB ReferenceOne targetDocument Bundle1 Other protecte
  • 将新号码添加到 ABAddressBook 中的现有 ABRecord - iPhone

    我正在尝试通过我的应用程序更新地址簿中现有联系人的内容 但不需要用户界面 场景是这样的 1 用户输入号码和姓名 2 应用程序检查该姓名是否在联系人列表中 3 如果是 则检查该号码是否是该姓名的联系人之一 4 如果没有 则将其添加到该名称中
  • PHP array_push 将一个数组推入另一个数组

    我需要使用 array push 或类似的东西在另一个数组中添加一个数组 我想要实现的目标将如下所示 years array 2017 gt array Value01 Value02 2016 gt array Value03 在另一个数
  • 如何使用Java将字符串中单词的第一个字母大写?

    示例字符串 one thousand only two hundred twenty seven 如何更改字符串的第一个字符为大写字母而不更改任何其他字母的大小写 更改后应该是 One thousand only Two hundred T
  • Node js multer 文件上传不起作用。 req.file 和 req.files 始终未定义

    我正在尝试将文件上传到我的服务器 但是req file and req files在我的 POST REST 端点上始终未定义 我尝试上传的内容是 dat 文件 我期待 json 响应 这是我的代码 服务器端 var express req