javascript – 使用NodeJS和节点强大的上传文件

前端之家收集整理的这篇文章主要介绍了javascript – 使用NodeJS和节点强大的上传文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我继续使用node.js和强大的模块上传文件,
在磁盘上保存的文件是某种格式不正确(错误编码)
例如如果我上传的图像我无法查看,如果我上传一个txt文件gedit提供以下msg:
“gedit无法检测到字符编码.
请检查您是否未尝试打开二进制文件.
菜单中选择字符编码,然后重试.

这里是代码

form.encoding = 'utf-8';
form.parse(req,function(err,fields,files) {
    fs.writeFile('test.js',files.upload,'utf8',function (err) {
          if (err) throw err;
          console.log('It\'s saved!');
    });
});

解决方法

问题是files.upload不是文件内容,它是来自node-formidable的File类的一个实例.

看着:

https://github.com/felixge/node-formidable/blob/master/lib/file.js

而不是再次将文件写入磁盘,您可以直接访问上传文件的路径,并使用fs.rename()将其移动到所需位置:

fs.rename(files.upload.path,'yournewfilename',function (err) { throw err; });

猜你在找的JavaScript相关文章