簡體   English   中英

node.js錯誤:EISDIR,打開

[英]node.js Error: EISDIR, open

我試圖uplaod文件並移動到新目錄已經存在。 按照在Node.js中編寫文件,但我收到錯誤: Error: EISDIR, open '/Users/name/Sites/project/app/assets/images/UploadTemporary/' at Error (native)

我發現使用Node.js我得到,“錯誤:EISDIR,讀取”Node.js錯誤:EISDIR,打開錯誤類似的錯誤消息,我的UploadTemporary文件夾已經存在我搞錯了什么? 我不明白,如果它不是一個目錄還有什么可以呢?

var multipart = require('connect-multiparty');
var fs = require('fs');
var path = require('path');
var appDir = path.dirname(require.main.filename);

...
var sourceFile = req.files.file[0].path;
var destinationFile = appDir + '/assets/images/UploadTemporary/';

var source = fs.createReadStream(sourceFile);
var destination = fs.createWriteStream(destinationFile);

source.pipe(destination);
source.on('end', function () {
  fs.unlinkSync(sourceFile);
});

將文件寫入特定目錄時,還需要提供實際的目標文件名。 cp命令不同, fs模塊不會推斷目標文件名。

在您的情況下,您嘗試寫入目錄而不是文件。 這就是您收到EISDIR錯誤的原因。 要解決這個問題,正如您在評論中提到的那樣

var destinationFile = appDir + '/assets/images/UploadTemporary/' + newfilename;

也包括文件名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM