2017-02-14 4 views
0

я есть reactjs проект с использованием psd.js и на моем DropZone CONFIG как этот
PSD.js в реакции ошибки fs.readFileSync не является функцией

accept: function(file, done){ 
     const reader = new FileReader(); 
     reader.onload = handleReaderLoad; 
     reader.readAsDataURL(file); 
     function handleReaderLoad(evt) { 
      console.log(evt.target.result); 
      let psdFile = PSD.fromFile(evt.target.result); 
      psdFile.parse(); 
      console.log(psdFile); 
     } 
     done(); 
     }, 

ошибки является:

Uncaught TypeError: fs.readFileSync is not a function 
    at Function.fromFile (init.coffee:6) 
    at FileReader.handleReaderLoad (index.js?03a7:153) 

в моей конфигурации webpack i inlclude:

node: { 
    fs: 'empty' 
    }, 

, потому что если не включить его, ошибка not found fs module

пожалуйста, помогите

ответ

0

Вы должны использовать PSD.fromEvent(evt), не PSD.fromFile.

Первый читает blob из ввода файла, в то время как последний пытается попасть в файловую систему, которая явно отсутствует в контексте браузера.

Так что я думаю, что ваш код должен выглядеть следующим образом (но я не совсем уверен)

accept: function(file, done){ 
    const reader = new FileReader(); 
    reader.onload = handleReaderLoad; 
    reader.readAsDataURL(file); 
    function handleReaderLoad(evt) { 
     PSD.fromEvent(evt).then(function (psd) { 
      // here you can access the parsed file as psd 
      console.log(psd.tree().export()); 
      done(); 
     }); 
    } 

    }, 
+0

, если я использовал 'PSD.fromEvent()' errror является 'Uncaught TypeError: PSD.fromEvent не функция в FileReader.handleReaderLoad'. Что не так @pawel – Ariasa

Смежные вопросы