问题标签 [skipper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用带有 Sails.js v0.10 的 Skipper 上传文件 - 如何检索新文件名
我正在升级到Sails.js
0.10 版,现在需要使用Skipper来管理我的文件上传。
当我上传一个文件时,我使用 UUID 为其生成一个新名称,并将其保存在 public/files/ 文件夹中(当我完成所有工作时,这将改变,但现在对测试很有用)
我将原始名称和上传的名称+路径保存到 Mongo 数据库中。
这一切都很简单,Sails v0.9.x
但使用Skipper
我无法弄清楚如何读取新的文件名和路径。(显然,如果我能读懂名字,我就可以构建路径,所以它实际上只是我需要的名字)
我的控制器看起来像这样
我该怎么做呢?
image - Skipper in SailsJS (beta) image resize before upload
I'm using SailsJS (beta). I'm trying to find a way to use graphicsmagick to take the stream parsed by Skipper in SailsJS-beta to resize the image before calling the Skipper-function req.file('inputName').upload()
.
My goal is to take my large, original image, and resize it before uploading it. Sails beta have introduced the Skipper-file-parser which are poorly documented (at least I don't understand it). Please help me understand how to resize the image before upload.
This works (code in my controller action):
What I want is something like:
My problem is: how do I properly fetch the stream from req.file('fileName')
to send it to gm?
sails.js - 通过sails v.9.16上传文件
我正在尝试在sails v.9.x 中使用skipper 和jquery-file-uploader 将一堆文件上传到服务器。我还需要在表单和多个文件中添加另外两个字段名称。但我在让它正常工作时遇到了一些麻烦。当我登录服务器时,它说文件不存在。我能得到一些帮助吗?
这是我的前端js:
这是服务器端:
和快递js:
file-upload - Sails.JS 文件上传使用skipper,访问原始文件名和动态上传路径
我想使用船长上传一个简单的文件。早些时候,可以使用 req.files 访问通过表单上传的文件,但知道在 Sails 0.10.x 中,默认安装了 skipper,req.files 是未定义的。而不是 req.file('filename') 用于访问文件。
我可以查看文档进行简单的文件上传。但是,我希望能够在上传之前访问文件名,并且还需要
- 根据上传文件的用户将文件上传到动态创建的目录
- 新创建文件的名称应该是 oldFileName + _ + timestamp in integer
我如何使用船长模块来做到这一点,或者更确切地说,最有效的方法是什么?
编辑
到目前为止,我已经能够做到这一点,但我希望一定有更好的方法。
为了访问文件名,我使用了这个表达式
我可以看到,如果目录不存在,则船长会根据上传功能参数中给出的文件路径和名称自动创建目录
javascript - 文件上传不适用于 Sails.js
我正在尝试使用下面的代码将图像上传到服务器。它适用于高达 ~70KB 的小图像。
对于较大的图像,它将文件状态设置为cancelled
,保存到服务器磁盘,但大小为零 KB。
我正在使用 Sails 0.10.0-rc7。
有任何想法吗?
file-upload - 使用 Sails.js 0.10 和 Skipper 使用 Dropzone.js 上传多个文件
我的 Sails 应用程序中存在多个文件上传问题。我正在尝试使用 Dropzone.js 实现多个文件上传,我的后端是 Sails v0.10.0-rc8。
现在,当我通过 dropzone 上传一些文件时,我看到在多次上传的情况下,它会在请求中发送带有单独参数的文件。参数名称是'photo[0]', 'photo[1]', 'photo[2]',...
. 我正在像这样在控制器中获取文件:
但是,当提交的文件不止一个时,请求会在从请求中解析和存储所有文件之前传递给控制器,所以我的控制器中只有一个文件。
有没有人遇到过这个问题?也许在船长正文解析器中不支持具有不同请求参数的多个文件上传?因为当我在一个属性('照片')中提交多个文件时,所有文件都被处理并传递给控制器。
node.js - Skipper 流中的额外数据
目前正在编写代码以制作船长 gridfs 适配器。当您调用上传时,文件在回调中传递,我想向包含 gridfs 存储元数据和 gridfs 存储 ID 的文件添加一个额外字段。
我正在查看 skipper 中的上游代码,并看到一个名为 stream.extra 的东西。我猜它是为了传递额外的数据,我将如何使用它?
sails.js - 启用 csrf 上传大文件的sails.js 错误
我正在使用sails.js beta 0.10
文件上传适用于小文件,但对于大文件,它会出现此错误:
但是,如果我禁用 csrf,它会完美运行。任何想法 ?
mongodb - Sails.js 在使用船长将文件上传到 MongoDB 之前检查内容(有效文件、图像大小调整等)
我目前正在我的应用程序中创建一个文件上传系统。我的后端是 Sails.js (10.4),它用作我的单独前端 (Angular) 的 API。
我选择存储要上传到 MongoDB 实例的文件,并使用sails 内置的文件上传模块 Skipper。我正在使用适配器 skipper-gridfs ( https://github.com/willhuang85/skipper-gridfs ) 将文件上传到 mongo。
现在,上传文件本身没有问题:我在客户端上使用 dropzone.js,它将上传的文件发送到 /api/v1/files/upload。文件将被上传。
为了实现这一点,我在我的 FileController 中使用以下代码:
现在的问题是:我想在文件上传之前对其进行处理。具体有两点:
- 检查文件是否被允许:内容类型标头是否与我想要允许的文件类型匹配?(jpeg、png、pdf 等 - 只是基本文件)。
- 如果文件是图像,请使用 imagemagick(或类似的东西)将其调整为几个预定义的大小。
- 添加也将保存到数据库的文件特定信息:对上传文件的用户的引用,以及对文件所属模型(即文章/评论)的引用。
我不知道从哪里开始或如何实现这种功能。所以任何帮助将不胜感激!