真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

nodejs提示:cross-devicelinknotpermitted,rename錯(cuò)誤的解決方法

node.js提示錯(cuò)誤:

成都創(chuàng)新互聯(lián)公司基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺(tái)為眾多戶提供中國(guó)電信云錦天府 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。

Error: EXDEV: cross-device link not permitted, rename 'C:\Users\THEDIS~1\AppData\Local\Temp\upload_9b46f1afc2f9ade074037c3fb707d271' -> 'E:/node-rumen/tmp/test.png'

文件上傳的功能時(shí)候,調(diào)用fs.renameSync方法錯(cuò)誤

這個(gè)提示是跨區(qū)重命名文件出現(xiàn)的權(quán)限問題。

解決方法

先從源文件拷貝到另外分區(qū)的目標(biāo)文件,然后再unlink,就可以了。

form.parse(request, function(error, fields, files) {
 console.log(“parsing done”);
 fs.renameSync(files.upload.path, “/tmp/test.png”);
});

改成

form.parse(request, function(error, fields, files) {
 console.log(“parsing done”);

 // fs.renameSync(files.upload.path, “/nodejs/case/two/img/test.png”);

 var readStream=fs.createReadStream(files.upload.path);
 var writeStream=fs.createWriteStream("./tmp/test.jpg");
 readStream.pipe(writeStream);
 readStream.on('end',function(){
  fs.unlinkSync(files.upload.path);
 });
});

PS:node版本是0.10.69可以使用上面的方法,如果使用的是0.6以下的版本,可以使用util.pump

相應(yīng)代碼只需將上面的代碼中readStream.on處改成:(注意引入util模塊)

util.pump(readStream,writeStream, function() {
 fs.unlinkSync('files.upload.path');
});

參考地址:https://stackoverflow.com/que...

https://stackoverflow.com/que...

方法二:

這種就簡(jiǎn)潔很多了

添加一個(gè) form.uploadDir='tmp' 即可(寫一個(gè)臨時(shí)路徑)

function upload(response,request){
 console.log(“upload called”);
 var form = new formidable.IncomingForm();
 form.uploadDir='tmp';

 console.log(“about to parse”);
 form.parse(request, function(error, fields, files) {
  console.log(“parsing done”);
  fs.renameSync(files.upload.path, “./tmp/test.jpg”);
  response.writeHead(200, {“Content-Type”: “text/html”});
  response.write(“received image:
”); response.write(“”); response.end(); }); }

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。


當(dāng)前名稱:nodejs提示:cross-devicelinknotpermitted,rename錯(cuò)誤的解決方法
瀏覽地址:http://weahome.cn/article/iejphd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部