Sails.js:如何知道请求是否包含要上传的文件?

2024-04-07

我的一个控制器中有下一个操作,它的功能是上传图像文件或使用视频网址创建新的封面模型,它工作正常,但是当请求有标头时内容类型:多部分/表单数据并且不包含该操作引发超时错误的文件req.file().

upload: function(req, res) {
    res.setTimeout(0);

    function onCreateCover(err, cover) {
        if (err) {
            return res.negotiate(err);
        } else {
            res.status(201);
            return res.json(cover);
        }
    }

    if (/^multipart\/form-data/.test(req.headers['content-type'])) {
        req.file('image').upload({
            maxBytes: 2000000,
            dirname: coverDir
        }, function(err, uploadedFile) {
            if (err) {
                res.serverError(err);
            } else if (uploadedFile.length > 0) {
                Cover.create({
                    title: req.body.title,
                    description: req.body.description,
                    path: uploadedFile[0].fd
                }).exec(onCreateCover);
            }
        });
    } else {
        Cover.create(req.body).exec(onCreateCover);
    }
}

我想知道是否存在一种方法或方式来检查请求是否确实包含文件


我不知道是否有更好的方法,但我使用的是:

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

Sails.js:如何知道请求是否包含要上传的文件? 的相关文章

  • ExpressJS - 提供通用 Nuxt 应用程序和 AngularJS SPA

    我有一个具有以下结构的博客项目 服务器 用 Node Express 编写 管理员 AngularJS SPA public AngularJS SPA 目前 管理部分和公共部分具有相同的域 但管理部分使用不同的子域 这允许我在 Expre
  • 关于 Node.js Promise then 和 return?

    我对承诺感到困惑 I use 那么就答应没有返回像这样 new Promise resolve reject gt resolve 1 then v1 gt console log v1 new Promise resolve reject
  • 如何使用express在node.js中使浏览器关闭后会话过期?

    我在用 req session cookie maxAge 14 24 3600 1000 0 让会话在两周后过期 但现在我想让它在浏览器关闭后过期 有什么办法可以做到吗 来自连接会话中间件文档 https github com expre
  • NodeJS 在目录中递归地哈希文件

    我能够实现目录中的递归文件遍历 即探索目录中的所有子目录和文件 为此我使用了answer https stackoverflow com questions 5827612 node js fs readdir recursive dire
  • Node.js“需要”其他文件而不需要命名空间

    我正在将代码库从 100 浏览器端切换为浏览器端和服务器端的混合 我发现的问题是 要让我的代码使用 node js 运行 我必须使用模块 为了将我的代码变成模块 需要对几乎所有代码进行巨大的重构 原因是在浏览器上 许多功能是跨文件使用的 而
  • Grunt-browserify+mapify+coffeescript = 未通过相对路径找到模块

    我尝试让 grunt browserify 使用 Coffeescript 的相对路径 但当我尝试构建源代码时总是收到错误消息 gt gt Error module src app utils includeMixin not found
  • 将 Node.js(用于实时通知)添加到现有 PHP 应用程序

    我有一个现有的 PHP 应用程序 我需要向其中添加实时通知 为了实现这一点 我安装了node js 打算添加socket io以实现所有实时功能 然而 尽管在过去的三个小时里研究并试图弄清楚如何将两者结合起来 但我发现自己并没有更接近于获得
  • Mongoose 查找 array.length 大于 0 的所有文档并对数据进行排序

    我正在使用 mongoose 对 MongoDB 执行 CRUD 操作 这就是我的架构的样子 var EmployeeSchema new Schema name String description type String default
  • npm install 的 --save 选项是什么?

    我看到一些教程 其中命令是 npm install save 什么是 save选项是什么意思 更新 npm 5 As of npm 5 0 0 http blog npmjs org post 161081169345 v500 安装的模块
  • lessc:未找到命令

    我使用的是 OS X 8 并且是 Node LESS 的新手 我以为我之前安装了 lessc 当我转到 usr local bin 时 我看到了 lessc 但对于我的生活来说 我无法运行它 每当我运行它时 我都会看到 bash lessc
  • keystonejs 模型中的动态类型选择

    我想在 adminUI 中使用一个组合框 其中包含来自 Web 服务的字段 我正在考虑使用预 查找 挂钩获取数据 然后覆盖模式中 受众 属性的选项属性 Schema Compliance add title type Types Text
  • 使用 NVM 安装多个版本的 node.js (Ubuntu)

    如何使用 Ubuntu 在 Ubuntu 中安装多个版本的 Node jsNVM https github com creationix nvm 先验知识 如何使用终端 例如 您可以使用gnome terminal 安装依赖项 sudo a
  • npm install 不起作用,抛出错误

    我正在尝试在 nodejs 中安装 yo 和其他一些软件包 但是我不断收到错误 我是节点新手 所以我有点迷失 我运行的是 Mac OS X 10 10 3 我正在使用的命令是 sudo npm install global yo 这样做会给
  • 没有导出的成员/节点模块

    我刚刚开始使用 5 分钟快速入门找到的 Angular 2 Typescripthere https angular io docs ts latest quickstart html 我遇到了一个看起来很常见的问题 但可能有点不同 我遇到
  • Mongoose 重复且架构键唯一

    我想让关键项目在该集合中独一无二 但我无法正常工作 我在这里发现了类似的问题 task js function make Schema mongoose var Tasks new Schema project type String in
  • 获取telegram群组的所有用户

    我正在尝试获取电报组的所有用户 我看到方法 getChatAdministrators 但我认为 API 没有获取所有成员的方法 我正在使用nodejs的telegram bot api Telegram 机器人 API https cor
  • Nodejs Express 隐式中间件应用于所有路由?

    我想知道 Express 是否允许我创建一个默认调用的路由中间件 而无需我将其明确放置在 app get arg 列表中 NodeJS 新手 var data title blah So I want to include this in
  • NodeJs读取JSON文件

    我正在使用 NodeJs 读取 json 文件 我的代码非常基本 var obj require sample json console log obj 0 Sample json 文件包含这样的字符串化 JSON sample good
  • NodeJS CPU 一次飙升至 100%

    我有一个用 NodeJS 编写的 SOCKS5 代理服务器 我正在使用原生net and dgram打开 TCP 和 UDP 套接字的库 它可以正常工作大约 2 天 所有 CPU 的最大利用率约为 30 两天没有重新启动后 一个 CPU 峰
  • 如何上传文件 - sails.js

    我可以下载图像和 pdf 但无法下载文档文件 doc pptx odt 下载文档 doc pptx odt 时 仅将其下载为 ZIP XML 文件 我可以做什么 我在用着 填写上传文件文档 https github com balderda

随机推荐

  • 像 USE 这样的函数可以指向不同服务器上的 SQL 数据库吗?

    在 SQL Server 中 您可以应用use函数将查询指向另一个数据库 例如 USE databasename GO 是否有一个功能允许您指向不同的数据库服务器并使用该服务器上的数据库 我希望这能起作用 但没有运气 USE servern
  • 如何更新负载均衡的多个 EC2 实例? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 因此 我一直在使用亚马逊云 AWS 我试图弄清楚如何将文件传输到所有服务器 如果它们负载平衡 起初我以为我可以将 3 个不同的实例绑定到一个负载均衡器
  • 选择器、图层列表和形状/位图位于同一 xml 中

    我在 xml 里面有这个代码drawable folder
  • 通过 SSH 连接 MySQL 时遇到问题

    我正在本地 OS X 计算机上运行 Node Express 网站 我需要 ssh 到远程 mysql 数据库 以便我可以开始针对它编写查询 现在 当我通过 OS X Yosemite 终端执行此操作时 我可以 ssh 到云中的远程服务器
  • Firebase OrderByChild() 和 EqualTo() 无法正常工作

    我需要在随机键中找到现有的子项 并且我使用 OrderByChild 和 EqualTo 来过滤查询 但它的行为非常奇怪 有时它显示子项仅存在一个子项 有时它不起作用 我需要检查 February 2019 的子项 date expense
  • 从 Resources 子文件夹中获取文件名

    在我的资源文件夹中 我有一个图像子文件夹 我想从该文件夹中获取这些图像的所有文件名 尝试了几个Resources loadAll之后获取 name 但没有成功的方法 这是实现我在这里想做的事情的正确做法吗 没有内置 API 可以执行此操作
  • 从具有多个结果集的存储过程中检索数据

    给定 SQL Server 中的一个存储过程 它有多个select语句 有没有办法在调用过程时单独处理这些结果 例如 alter procedure dbo GetSomething as begin select from dbo Per
  • ASP.NET:权限/身份验证架构

    我正在考虑建立一个验证在我的 ASP NET 应用程序中 具有以下要求 一名用户只有一个角色 即管理员 销售经理 销售 角色拥有一组 CRUD 访问现有对象子集的权限 IE 销售人员对对象类型 产品 具有 CREAD READ WRITE
  • Attention机制中的“源隐藏状态”指的是什么?

    注意力权重计算如下 我想知道什么h s指 在tensorflow代码中 编码器RNN返回一个元组 encoder outputs encoder state tf nn dynamic rnn 正如我所想 h s应该是encoder sta
  • MessagePack:快速跨平台序列化器和RPC - 请分享经验

    寻找一些我偶然发现的快速 简单且稳定的 RPC 库消息包 http msgpack org 项目看起来非常好 它也正在积极开发中 如果您以任何方式使用它 可以分享一下您的经验吗 附 我认为这个问题应该是社区维基 好吧 过了一段时间 我发现
  • 访问 Django 模板中 ImageField 上的图像尺寸?

    I have ImageField在我的模型中 我可以在模板中显示图像 但是 如何检索图像的高度和宽度 请参阅文档图像场 https docs djangoproject com en 1 11 ref models fields djan
  • `sorted(list)` 与 `list.sort()` 有什么区别?

    list sort 对列表进行排序并替换原始列表 而sorted list 返回列表的排序副本 而不更改原始列表 什么时候一个人比另一个人更受青睐 哪个更有效率 多少 列表可以恢复到未排序状态吗list sort 已执行 Please us
  • web.config 中带点的路径

    我需要在 web config 文件中添加一个位置元素 但路径以点开头 而且我认为我无法更改该路径 它是为了让我们加密 http letsencrypt org自动化 如果我让点 就像
  • 将自定义 SecurityExpressionOperations 中的方法注册为 Spring SpEL 函数

    我有以下实现MethodSecurityExpressionOperations public class CustomMethodSecurityExpressionRoot extends SecurityExpressionRoot
  • Google 地图未显示在 Phonegap Build 中

    我的电话间隙期只有两个月左右 我一直在谷歌波纹模拟器中测试该应用程序 并且谷歌地图的一切都运行良好 但是 当我将此项目上传到phonegap build 并将其安装到我的Android 设备中时 谷歌地图不会显示 这是我的index htm
  • JQuery,从字符串中删除元素

    我有一个字符串 var s h1 heading h1 p para p 我想删除h1从中提取元素 我试过了 s remove h1 但 s 仍然包含h1元素 我也尝试过 s s remove h1 and h1 s remove and
  • 汇总每日内容

    我一直在尝试汇总 有些不稳定的 每日数据 我实际上正在处理 csv 数据 但如果我重新创建它 它看起来像这样 library zoo dates lt c 20100505 20100505 20100506 20100507 val1 l
  • Flutter 应用程序在直接调用 Firebase 云函数时出现 UNAUTHENTICATED 错误

    我尝试直接从我的 FLUTTER 应用程序使用 firebase 云函数 oncall 方法 即使我登录了 它仍然给我一个未经身份验证的错误 颤振应用程序代码 CloudFunctions function CloudFunctions i
  • MySQL - 删除级联上的外键 - 是否有定义的执行顺序?

    我的 MySQL 有问题 多个表上的 CASCADE ON DELETE 规则 显然 CASCADE ON DELETE 规则的执行顺序取决于它们的定义顺序 但是这个执行顺序是否明确定义或者取决于 MySQL 版本 这是我的三个表 A B
  • Sails.js:如何知道请求是否包含要上传的文件?

    我的一个控制器中有下一个操作 它的功能是上传图像文件或使用视频网址创建新的封面模型 它工作正常 但是当请求有标头时内容类型 多部分 表单数据并且不包含该操作引发超时错误的文件req file upload function req res