gpt4 book ai didi

javascript - express-fileupload 模块将损坏的图像文件保存到我的硬盘的奇怪问题

转载 作者:行者123 更新时间:2023-11-29 23:06:11 26 4
gpt4 key购买 nike

我正在为一个网站设置一个数据库,我需要通过 HTML 表单上传帖子,然后将其传递到一个路由以将表单字段放入架构数据结构中。我正在使用 express-fileupload 来实现这一点。我上传的文件已正确保存到我的数据库中,但是,当将文件写入磁盘时,它们最终变为 0 字节并已损坏。有人可以解决这个问题吗?

我尝试过使用其他上传模块,但是,它们似乎都不像 express-fileupload 那样容易实现。

POSTS.JS(路由文件)

router.post('/create', (req, res)=>
{
let filename = '';

if (!isEmpty(req.files))
{
let file = req.files.fileUpload;
filename = Date.now() + '-' + file.name;

let dirUploads = './public/uploads/';

file.mv(dirUploads + filename, (err) =>
{
if (err) throw err;
});

console.log(req.files.fileUpload);
}
}

CREATE.HANDLEBARS(HTML 文件)

<form action="/admin/posts/create" method="post" enctype="multipart/form- 
data">
<!-- File upload section. -->
<div class="form-group">
<label for="file">Upload File</label>
<input name="fileUpload" type="file" class="form-control"
id="fileupload">
</div>

我希望图像文件能够正确保存,因为我遵循了正确的实现程序。

控制台输出似乎可以验证文件是否已正确保存到我的数据库中:

{ name: 'MENTORSHIPMARKETINGBLUE.png',
data:
<Buffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 01 f4 00
00 01 f4 08 06 00 00 00 cb d6 df 8a 00 00 20 00 49 44 41 54 78 9c ed dd
77 78 56 f5 fd ... >,
encoding: '7bit',
tempFilePath: '\\tmp\\tmp1550292689804',
truncated: false,
mimetype: 'image/png',
md5: [Function: md5],
mv: [Function: mv] }
{ status: 'public',
_id: 5c6796d1dc28613b845173e5,
title: 'weg',
allowComments: false,
body: 'weg',
file: '1550292689806-MENTORSHIPMARKETINGBLUE.png',
__v: 0 }

但是,保存的文件确实是损坏的。

最佳答案

同样的事情也发生在我身上。有时,当您安装软件包时,它没有正确安装。只需卸载它,然后重新安装,并确保您在安装时有良好的互联网。希望这对您有所帮助!

关于javascript - express-fileupload 模块将损坏的图像文件保存到我的硬盘的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54720086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com