问题标签 [multer]
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 - 使用 Multer 重命名上传的文件不起作用 (Express.js)
我正在尝试使用 Express.js 和 Multer 从 HTML 表单上传文件。我已设法将文件保存到所需位置(名为uploads的文件夹)。
但是,我想在上传文件时重命名文件,因为默认情况下,Multer 给它一个奇怪的名称,例如:
5257ee6b035926ca99923297c224a1bb
可能是十六进制时间戳左右,但我需要一个更明确的名称,以便稍后在其上调用脚本。
我已经按照此处找到的解释进行了操作,但它并没有做任何比以前更多的事情:上传带有十六进制名称的文件。
此外,两个事件onFileUploadStart和onFileUploadComplete似乎从未被触发,因为我没有在控制台中记录任何内容。
我为服务器和路由使用了两个单独的文件:
应用程序.js
识别.js
我一直在挖掘,但我不知道问题出在哪里,因为我对 Node.js 和 JavaScript 很陌生。
谢谢你们的帮助!
node.js - 决定 Multer 中间件的上传文件夹位置
全部:
我是 Express.js 的新手,当我使用 Multer ( https://github.com/expressjs/multer ) 处理文件上传时,我指定了一个 multer 中间件对象:
但是让我非常困惑的一件事是:无论我将此行代码放在哪里(在子路由器文件或 app.js 中),它总是在项目根目录下创建“uploads”文件夹(与 app.js 相同的文件夹,视图,路线,公共...位于),即使我将其更改为“./uploads/”,它仍然会在项目根目录下创建上传文件夹。
这让我很困惑,因为当我将它与 require() 函数进行比较时,似乎 require() 使用相对路径基于它被调用的位置,而 multer 不是?我想知道我的理解是否正确?如果我的正确,如何将其更改为相对?
谢谢
javascript - Multer 和 AngularJS
我不知道如何通过 angular $http 发布。为什么?我想 multer 解析和存储我的文件和角度,以便在完成后获取副本。更好的是,我很乐意让 angular 获取一个副本,然后将其传递给服务器。
我可以使用以下代码段上传文件:
使用任何示例文件运行它,将我想要的 json 返回到控制台,并且图像成功存储在正确的目录中。然而:
这会在两个控制台输入上返回 undefined,即使我没有更改文件,我只是更改了它的发送方式。
这让我两个相信两件事之一:
提交的数据不是我想的那样。如果是这样,那是什么?日志上没有任何内容。
或者
提交的数据以某种方式被角度改变。如果是这种情况,怎么办?日志上再次没有打印任何内容。
node.js - 在 Multer 1.0 中,如何让事件回调起作用?
我试图让 rename 和 onFileUploadComplete 调用他们的控制台日志,但它从来没有,但是它确实在 post 中调用了我的控制台,这给了我一个不存在的文件字符串。
在此先感谢。我的最终目标是拥有一个可以传递给 excel JS 的文件,目前它说该文件的字符串格式不正确。我怀疑是因为文件被重命名为一长串数字“uploads/7ab48192a1c548a3dce3b9d74cad6592”,它从未指向实际文件。我进一步怀疑这是因为我运行了 typeof 并且它确实给了我一个字符串 - 只是没有一个指向文件,特别是如果 onFileUploadComplete 从未被解雇告诉我文件已上传?
node.js - NodeJS + Multer + PkgCloud:在将图像发送到云端之前调整图像大小
我正在寻找一种在将图像发送到云(openstack、s3 或其他)之前调整图像大小的方法(通过标准 html 表单提交上传)。
我正在使用 NodeJS 和 3 个插件:Multer(上传管理)、lwip(图像调整大小)和 PkgCloud(传输到云)。
我可以使用 multer 处理上传,并且可以使用 lwip 在服务器中编写一个新的调整大小的文件。
但是我遗漏了一些东西,我找不到将这个新文件发送到云端的方法。我发现了一个插件,它管理 multer 和配置的 pkgcloud 实例(multer-storage-pkgcloud)之间的传输,但我不知道如何在将文件发送到云之前调整文件大小。
有谁知道如何处理?
谢谢
angularjs - Multer不重命名图像
以下代码在所需位置生成图像,但是该图像未正确命名。
路由.js
创建.controller.js
我不知道我在这里错过了什么。我正在尝试将 multer 功能限制为特定的发布操作,是这样吗?
提前致谢
javascript - Express.js:如何获取实际图像文件以检查 Multer 中的魔术字节?
我正在使用插件fileFilter
选项multer
来决定是否应将图像保存到服务器上。
在该fileFilter
功能中,我想检查magic bytes
这些图像以确保它们是真实图像且格式正确。Multer
仅公开上传图像文件的json array
文件,如下所示。但我需要实际的图像文件来检查magic bytes
。
我在下面的代码中评论了我的详细问题。我的尝试如下;
PS 我决定使用图像类型插件来检查这些魔术字节。
node.js - Nodejs服务器有时无法使用multer,express,永远上传文件
我正在尝试构建一个简单的文件服务器来接收来自带有 multipart/form-data 的 post 请求的文件,我遵循了 multer 教程,但似乎有些事情不太正确,它有时会返回 500 内部服务器错误。代码如下。
该错误就像十个请求中的每两个请求一样发生。
我曾经永远开始的代码
我是 nodejs 的新手,这种错误(偶尔发生的错误)正在杀死我。
我添加了一些函数来记录可能的错误。
它记录了如下内容:
javascript - 带multer的ng-file-upload,不调用成功,重复调用上传
我正在使用ng-file-upload将图像从 Angular 客户端上传到 node/express 服务器。
正在加载图片,但是没有调用“成功”方法,并且图片上传似乎被多次调用,导致图片重复上传到服务器。
这是我的 HTML 表单:
这是我的 JS:
这是我的服务器端代码:
我在某处读到必须首先包含 shim 库,但我尝试交换加载顺序但没有任何乐趣。这是我的导入行:
此外,查看 Chrome 调试工具 - 上传显示状态为“待处理”。图像肯定在服务器上,进度条(在 html 中)显示 100%。然而,大约一分钟后,该图像的另一个副本出现在文件夹中(此行为似乎循环)并且从未调用 ng-file-upload 'success' 事件。
感谢帮助。
javascript - 使用multer在node.js(express)中上传后保留图像文件名和扩展名
我有这个使用 multer 模块上传图像的基本代码。但是当文件上传时,它会生成一些随机名称,甚至去掉文件扩展名。它只是说输入“文件”。那么我怎样才能保留带有扩展名的图像名称。