问题标签 [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.

0 投票
2 回答
7676 浏览

javascript - 使用带有 Sails.js v0.10 的 Skipper 上传文件 - 如何检索新文件名

我正在升级到Sails.js0.10 版,现在需要使用Skipper来管理我的文件上传。

当我上传一个文件时,我使用 UUID 为其生成一个新名称,并将其保存在 public/files/ 文件夹中(当我完成所有工作时,这将改变,但现在对测试很有用)

我将原始名称和上传的名称+路径保存到 Mongo 数据库中。

这一切都很简单,Sails v0.9.x但使用Skipper我无法弄清楚如何读取新的文件名和路径。(显然,如果我能读懂名字,我就可以构建路径,所以它实际上只是我需要的名字)

我的控制器看起来像这样

我该怎么做呢?

0 投票
2 回答
3462 浏览

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?

0 投票
0 回答
152 浏览

sails.js - 通过sails v.9.16上传文件

我正在尝试在sails v.9.x 中使用skipper 和jquery-file-uploader 将一堆文件上传到服务器。我还需要在表单和多个文件中添加另外两个字段名称。但我在让它正常工作时遇到了一些麻烦。当我登录服务器时,它说文件不存在。我能得到一些帮助吗?

这是我的前端js:

这是服务器端:

和快递js:

0 投票
1 回答
6594 浏览

file-upload - Sails.JS 文件上传使用skipper,访问原始文件名和动态上传路径

我想使用船长上传一个简单的文件。早些时候,可以使用 req.files 访问通过表单上传的文件,但知道在 Sails 0.10.x 中,默认安装了 skipper,req.files 是未定义的。而不是 req.file('filename') 用于访问文件。

我可以查看文档进行简单的文件上传。但是,我希望能够在上传之前访问文件名,并且还需要

  • 根据上传文件的用户将文件上传到动态创建的目录
  • 新创建文件的名称应该是 oldFileName + _ + timestamp in integer

我如何使用船长模块来做到这一点,或者更确切地说,最有效的方法是什么?

编辑
到目前为止,我已经能够做到这一点,但我希望一定有更好的方法。

为了访问文件名,我使用了这个表达式

我可以看到,如果目录不存在,则船长会根据上传功能参数中给出的文件路径和名称自动创建目录

0 投票
0 回答
632 浏览

javascript - 文件上传不适用于 Sails.js

我正在尝试使用下面的代码将图像上传到服务器。它适用于高达 ~70KB 的小图像。

对于较大的图像,它将文件状态设置为cancelled,保存到服务器磁盘,但大小为零 KB

我正在使用 Sails 0.10.0-rc7。

有任何想法吗?

0 投票
3 回答
4022 浏览

file-upload - 使用 Sails.js 0.10 和 Skipper 使用 Dropzone.js 上传多个文件

我的 Sails 应用程序中存在多个文件上传问题。我正在尝试使用 Dropzone.js 实现多个文件上传,我的后端是 Sails v0.10.0-rc8。

现在,当我通过 dropzone 上传一些文件时,我看到在多次上传的情况下,它会在请求中发送带有单独参数的文件。参数名称是'photo[0]', 'photo[1]', 'photo[2]',.... 我正在像这样在控制器中获取文件:

但是,当提交的文件不止一个时,请求会在从请求中解析和存储所有文件之前传递给控制器​​,所以我的控制器中只有一个文件。

有没有人遇到过这个问题?也许在船长正文解析器中不支持具有不同请求参数的多个文件上传?因为当我在一个属性('照片')中提交多个文件时,所有文件都被处理并传递给控制器​​。

0 投票
1 回答
410 浏览

node.js - Skipper 流中的额外数据

目前正在编写代码以制作船长 gridfs 适配器。当您调用上传时,文件在回调中传递,我想向包含 gridfs 存储元数据和 gridfs 存储 ID 的文件添加一个额外字段。

我正在查看 skipper 中的上游代码,并看到一个名为 stream.extra 的东西。我猜它是为了传递额外的数据,我将如何使用它?

0 投票
1 回答
1200 浏览

node.js - 使用 skipper-s3 时如何添加 ACL 和 Content-Type 参数?

我正在使用 skipper-s3 上传文件。我发现上传到 S3 的所有文件都已设置为ACL:private默认Content-Type:binary/octet-stream设置。我想知道是否可以在上传到 S3 之前设置这些参数。

也许是这样的:

我已阅读问题,但仍然没有答案。另外,有什么方法可以获取Content-Type客户端发送的文件吗?

更新:问题已关闭。这似乎是一个 knox-mpu 问题。

0 投票
2 回答
559 浏览

sails.js - 启用 csrf 上传大文件的sails.js 错误

我正在使用sails.js beta 0.10

文件上传适用于小文件,但对于大文件,它会出现此错误:

但是,如果我禁用 csrf,它会完美运行。任何想法 ?

0 投票
2 回答
3653 浏览

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 中使用以下代码:

现在的问题是:我想在文件上传之前对其进行处理。具体有两点:

  1. 检查文件是否被允许:内容类型标头是否与我想要允许的文件类型匹配?(jpeg、png、pdf 等 - 只是基本文件)。
  2. 如果文件是图像,请使用 imagemagick(或类似的东西)将其调整为几个预定义的大小。
  3. 添加也将保存到数据库的文件特定信息:对上传文件的用户的引用,以及对文件所属模型(即文章/评论)的引用。

我不知道从哪里开始或如何实现这种功能。所以任何帮助将不胜感激!