gpt4 book ai didi

javascript - Node Js 图片上传不工作

转载 作者:行者123 更新时间:2023-12-03 06:39:54 26 4
gpt4 key购买 nike

我需要使用 Node js将图像上传到服务器。图像来自ios应用程序作为文件数据。我使用了以下代码,

 var fs = require("fs");
var imageName = req.files.profile_image.name;
fs.readFile(req.files.profile_image.path, function (err, data) {
console.log(imageName);
// If there's an error
if(!imageName){
console.log("There was an error")
//res.redirect("/");
//res.end();
} else {
console.log(data);
var newPath = 'http://example.com/images/' + imageName;
// write file to uploads/fullsize folder
fs.writeFile(newPath, data, function (err) {
// let's see it
console.log(err);
//res.redirect("http://example.com/images/" + imageName);
});
}
});

当我运行此代码时,我没有收到错误,但图像未上传到图像文件夹中。

我在使用 fs.writeFile 时遇到以下错误,

   { Error: ENOENT: no such file or directory, open 'http://example.com/images/user-profile.jpg'
at Error (native)
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: 'http://example.com/images/user-profile.jpg' }

请帮忙。

最佳答案

您不能将收到的图像写为网址...
它应该是运行应用程序的服务器上的本地路径。

fs.readFile(req.files.displayImage.path, function (err, data) {
// ...
var newPath = __dirname + "/uploads/uploadedFileName";
fs.writeFile(newPath, data, function (err) {
res.redirect("back");
});
});

也不要将图像重新写入新路径,而是移动它(使用 rename()):

fs.readFile(req.files.displayImage.path, function (err, data) {
// ...
var newPath = __dirname + "/uploads/uploadedFileName";

fs.rename(files.upload.path, _path +'/'+ img_name + '.png', function (error) {
res.redirect("back");
});
});

关于javascript - Node Js 图片上传不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38007014/

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