JR *_*lia 10 ubuntu file-upload file node.js express
我正在尝试使用NodeJS/ExpressJS 将上传的文件移动/tmp到home目录:
fs.rename('/tmp/xxxxx', '/home/user/xxxxx', function(err){
if (err) res.json(err);
console.log('done renaming');
});
Run Code Online (Sandbox Code Playgroud)
但它没有工作,也没有遇到任何错误.但是,当新的道路也在/tmp,那将是有效的.
我在使用Ubuntu,home是在不同的分区.任何修复?
谢谢
use*_*109 20
是的,fs.rename不会在两个不同的磁盘/分区之间移动文件.这是正确的行为.在linux中fs.rename提供相同的功能rename(2).
阅读此处发布的相关问题.
要得到你想要的东西,你必须做这样的事情:
var source = fs.createReadStream('/path/to/source');
var dest = fs.createWriteStream('/path/to/dest');
source.pipe(dest);
source.on('end', function() { /* copied */ });
source.on('error', function(err) { /* error */ });
Run Code Online (Sandbox Code Playgroud)
anv*_*rik 11
另一种方法是使用fs.writeFile.fs.unlink在回调中将从tmp目录中删除临时文件.
var oldPath = req.files.file.path;
var newPath = ...;
fs.readFile(oldPath , function(err, data) {
fs.writeFile(newPath, data, function(err) {
fs.unlink(oldPath, function(){
if(err) throw err;
res.send("File uploaded to: " + newPath);
});
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13934 次 |
| 最近记录: |