nodeJs 初学案例摘要
2024-08-27 10:06:19
在学习nodeJs的时候,照着文档做的,但是到最后的上传文件显示图片总是报错,
所用的fs.renameSync出错:Error: EXDEV, cross-device link not permitted,查了一下是因为上传的文件是传到C盘,要读取的文件在D盘;所以
fs.renameSync(files.upload.path, "/tmp/test.png");这一条就会报错;
解决方法是:
var readStream=fs.createReadStream(files.upload.path);
console.log(files.upload.path)
var writeStream=fs.createWriteStream("/tmp/test.jpg");
readStream.pipe( writeStream );
将文件先复制到同一个盘,在来读取。
最终的代码:
function upload(response,request){ var form = new formidable.IncomingForm(); form.parse(request, function(error, fields, files) {
var readStream=fs.createReadStream(files.upload.path);
var writeStream=fs.createWriteStream("/tmp/test.png");
readStream.pipe( writeStream ); response.writeHead(200, {"Content-Type": "text/html"});
response.write("received image:<br/>");
response.write("<img src='/show' />");
response.end();
});
}
var readStream=fs.createReadStream(files.upload.path); console.log(files.upload.path) var writeStream=fs.createWriteStream("/tmp/test.jpg"); /*util.pump(readStream,writeStream,function(){ fs.unlinkSync(files.upload.path); })*/ readStream.pipe( writeStream );
最新文章
- 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)
- Linq 动态查询排序
- PS 制作复印件及盖章效果
- 【2013微软面试题】输出节点数为n的二叉树的所有形态
- Android Studio安装、配置
- Linux守护进程详解(init.d和xinetd)
- Nightmare(搜索)
- 限制窗口拉伸范围——WM_GETMINMAXINFO
- ASA failover应用
- CLR 的执行模型(2)
- 自定义MySQL函数
- emwin 之 LISTWVIEW 控件禁止列滑动
- python的高级数组之稀疏矩阵
- pyexecjs模块
- Mac超快速搭建Nginx、PHP、PHPStorm、XDebug环境
- jQuery-使用hover(fn,fn)函数监听mouseover和mouseout两个事件
- 学习笔记-AngularJs(四)
- Linux基础命令---diff
- 【C++】
- awesome-modern-cpp