2016-01-15 39 views
13

Bir dosyam var (data.file bir resim), ben bu resmi kaydetmek istiyorum. Şimdi aynı adı taşıyan bir ,'dan önce var olabilir. Önceden beri mevcut değilse, üzerine yazmak veya oluşturmak istiyorum. "W" bayrağı bunu yapmalı.writeFile böyle bir dosya veya dizin yok

kodu:

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

hatası:

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

cevap

36

Bu dosya sisteminin kök yerine uygulama dizininin '/avatar/myFile.png' yazmaya çalışıyoruz muhtemelen çünkü - hile yapmak gerekir>__dirname + '/avatar/myFile.png', ayrıca klasörün mevcut olup olmadığını kontrol edin. node.js sizin için üst klasör oluşturmayacaktır.

+0

Bunun önemsiz bir şey olduğunu biliyoruz, ta. –

+5

Yapmakta olduğum sorun ana dizin bulunamadı. Bahşiş için teşekkürler –

0

İzin verilmeyen karakterler içeren bir ada sahip bir dosya oluşturmaya çalıştığım benzer bir sorunu çözdüm. Bunun için de dikkat edin çünkü aynı hata mesajını verir.

İlgili konular