2016-01-15 24 views
13

Tôi có một tập tin (data.file một hình ảnh), tôi muốn lưu hình ảnh này. Giờ đây, một hình ảnh có cùng tên có thể tồn tại trước đó. Tôi muốn ghi đè nếu có hoặc tạo nó nếu nó không tồn tại từ trước. Tôi đọc rằng lá cờ "w" nên làm điều này.writeFile không có tập tin hoặc thư mục như vậy

mã:

  fs.writeFile('/avatar/myFile.png', data.file, { 
       flag: "w" 
      }, function (err) { 
       if (err) { 
        return console.log(err); 
       } 
       console.log("The file was saved!"); 
      }); 

lỗi:

{ [Error: ENOENT: no such file or directory, open '/avatar/myFile.png'] 
    errno: -2, 
    code: 'ENOENT', 
    syscall: 'open', 
    path: '/avatar/myFile.png' } 

Trả lời

36

Đây có lẽ là bởi vì bạn đang cố gắng để viết thư cho thư mục gốc của hệ thống tập tin thay vì thư mục ứng dụng của bạn '/avatar/myFile.png' ->__dirname + '/avatar/myFile.png' nên làm các trick, cũng kiểm tra xem thư mục có tồn tại không. node.js sẽ không tạo thư mục cha cho bạn.

+0

Biết nó là thứ gì đó tầm thường, ta. –

+5

Sự cố tôi gặp phải là thư mục gốc không tồn tại. cảm ơn vì tiền hỗ trợ –

0

Tôi đã giải quyết được sự cố tương tự nơi tôi đang cố gắng tạo tệp có tên chứa ký tự không được phép. Xem ra cho rằng cũng bởi vì nó cung cấp cho các thông báo lỗi tương tự.

Các vấn đề liên quan