使用multer上传文件不能完全工作(NodeJS)
uploading file using multer is not working fully (NodeJS)
我正在使用NodeJS express (MVC),我正在尝试上传图像。我试图将图像存储在上传文件夹中,但没有任何显示。当我执行console.log(req.files)时,我得到以下内容(req.files)。Buffer输出一长串双位数数字和字母)。我如何得到这个保存在文件夹中的图像?
[
{
fieldname: 'file',
originalname: 'thumbnail.jpg',
encoding: '7bit',
mimetype: 'image/jpeg',
buffer: <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 00 01 00 00 ff db 00 84 00 09 06 07 0d 0d 10 0e 10 0d 0e 0d 0d 0d 0e 10
0f 0d 0d 0e 0d 0d 0f 0e 0e 0e ... >,
size: 1347
}
]
HTML: <form action="/bars/upload" method = 'post' enctype="multipart/form-data">
<label for='file'>Upload Image</label>
<input type="file" name="file" accept="image/*"/>
<input type="submit" name='submit' value="submit"/>
</form>
JS 节点
var multer = require('multer');
var upload = multer({ dest:'../public/uploads/' });
router.post('/bars/upload', function (req, res, next) {
console.log(req.files);
res.send(req.files);
});
multer
基本上是一个中间件,用于上传文件或转换为稍后可以在处理程序中使用的某种格式。所以,从例子中,你可以这样做:
var multer = require('multer');
var upload = multer({ dest:'../public/uploads/' });
router.post('/bars/upload', upload.single('someFile') ,function (req, res, next) {
// if you're here, the file should have already been uploaded
console.log(req.files);
console.log(req.body);// {"someParam": "someValue"}
res.send(req.files);
});
upload.html
<form action="/bars/upload" method = 'post' enctype="multipart/form-data">
<label for='file'>Upload Image</label>
<input type="file" name="someFile" accept="image/*"/>
<input type="hidden" name="someParam" value="someValue"/>
<input type="submit" name='submit' value="submit"/>
</form>
如果这不起作用,您可以使用命令行进行调试,这通常可以帮助我确定是服务器还是客户端有问题。
curl --form "someFile=@/path/to/file" -X POST http://localhost:3000/bars/upload
添加-I
选项以显示详细响应
我也遇到了同样的问题。我用邮差来查询我的节点应用程序。问题解决了,当我删除http头内容类型(它被设置为urlencoded形式)。
我也有同样的问题在桌子:". ./public/uploads/' just remove ../这样写桌子:"公共/上传/"这是它
相关文章:
- NodeJS Semaphore模块:它是如何工作的
- Couchbase on Nodejs - add () 方法的工作原理
- 无法通过“&”使nodejs在后台工作
- NodeJS:调用异步函数时谁做异步工作
- NodeJs child_process工作目录
- 对于 NodeJS 中的循环,不能与 Redis Hexists 一起工作
- Nodejs 数组未按预期工作
- 有没有像 Nodejs 中的 django 管理员一样工作的模块
- 可以't使nntp客户端(nodejs)正常工作
- AngularJS+NodeJS路由-不工作
- 使用nodeJS和phantomJS返回网络请求和响应,仅在控制台中工作
- Nodejs承诺不会正常工作
- 即使手动ssh可以工作,也无法使用带有ssh2模块的nodejs进行身份验证
- 无法获取有效的正则表达式以在nodejs中工作
- NPM不工作(无法找到模块'内部/fs'- nodejs)
- 代理选项不工作在请求模块的nodejs
- NodeJS aes解密不工作
- 使用multer上传文件不能完全工作(NodeJS)
- Ui-router不能从nodejs文件夹中工作,但可以在plunker上工作
- Javascript对象的深度赋值不工作(NodeJS)