Debian Wheezyでファイルの名前を変更すると、fs.renameまたはfs.renameSyncを使用しても機能しません。Node.JS fs.renameが動作しない
これは、/ tmp /から別の場所に移動されたファイルでのみ発生します。
報告されたエラーは次のとおりです。EXDEV、クロスデバイスリンクが許可されていません。
Debian Wheezyでファイルの名前を変更すると、fs.renameまたはfs.renameSyncを使用しても機能しません。Node.JS fs.renameが動作しない
これは、/ tmp /から別の場所に移動されたファイルでのみ発生します。
報告されたエラーは次のとおりです。EXDEV、クロスデバイスリンクが許可されていません。
Debian Wheezyはデフォルトで/ tmpフォルダにtmpfsを使います。
これは、/ etc/default/rcSを変更することで無効にすることができます。
RAMTMP=yes
これは私のために働く別のソリューションです
RAMTMP=no
問題は、ノードfs.renameSyncはデバイス間の名前変更を行うことができず、特定のマシンには異なるtmpがあるわけではないということですデバイス。これだけでRAMTMPをオフにしないでください。 (また、現在のDebian JessieのRAMTMPでは動作しません。/ tmp tmpfsはsystemdを介して設定されています)。例えば__mv__モジュールのようにスマートな名前を変更してください:http://stackoverflow.com/a/29287813/196206 – Messa
に設定する必要があります。
var fs = require("fs"),
util = require('util');
...
//fs.renameSync(files.upload.path, "/tmp/test.png");
var readStream = fs.createReadStream(files.upload.path)
var writeStream = fs.createWriteStream("/tmp/test.png");
util.pump(readStream, writeStream, function() {
fs.unlinkSync(files.upload.path);
});
あなたはそれを見ることができます。私はuの ため、それは便利だと思う[こちら] [1] [1]:http://stackoverflow.com/questions/4568689/how-do-i-move-file-a-to-a-異なるパーティション内のノード-js – SaliproPham
[ファイルaをNode.js内の別のパーティションまたはデバイスに移動するにはどうすればいいですか?](https://stackoverflow.com/questions/4568689/how-do-i) – bugwheels94