2011-04-03 21 views
10

kullanarak dosya yüklüyorsun Node.js ve henüz formüle edilebilir modül kullanarak dosya yüklüyorum, diske kaydedilmiş olan dosya bir çeşit kötü formatta (kötü kodlama) örn. Bir resim yüklüyorsam görüntüleyemiyorum, eğer bir txt dosyası yüklediğimde gedit aşağıdaki msg'yi sağlayın: "gedit karakter kodlamasını algılayamadı. Lütfen bir ikili dosyayı açmaya çalışmadığınızı kontrol edin. Menüden kodlayan bir karakter seçin ve tekrar deneyin. "NodeJS ve node-formidable

form.encoding = 'utf-8'; 
form.parse(req, function(err, fields, files) { 
    fs.writeFile('test.js', files.upload,'utf8', function (err) { 
      if (err) throw err; 
      console.log('It\'s saved!'); 
    }); 
}); 

cevap

18

sorun o files.upload dosyasının içeriği değildir, bu bir örneğidir Düğümden biçimlendirilebilir dosya sınıfı.

Bak at: Yerine tekrar diske dosyayı yazmaya çalışmakla

https://github.com/felixge/node-formidable/blob/master/lib/file.js

, aynen bu şekilde yüklenen dosya ve nereye taşımak için fs.rename() kullanmak yoluna erişebilir İstediğiniz:

fs.rename(files.upload.path, 'yournewfilename', function (err) { throw err; });