2016-11-23 3 views
0

У меня есть ответ от EBay-апиКак сохранить почтовый файл, представленный в виде строки в Node JS

--MIMEBoundaryurn_uuid_C91296EA5FF69EE9571479882375576565344 Content-Type: применение/ХОР + XML; кодировка = UTF-8; тип = "текст/XML" Content-Transfer-Encoding: бинарное Content-ID: < 0.urn: UUID: C91296EA5FF69EE9571479882375576565345>

Success1.1.02016-11-23T06: 26: 15.576Z514 --MIMEBoundaryurn_uuid_C91296EA5FF69EE9571479882375574545344 Содержание -Тип: применение/почтовый Content-Transfer-Encoding: бинарное Content-ID:

PKY'uIi [@ 50014028337_report.xmlUT y2Xy2Xux 00Rj @ + [ PlX # (x, = l q] Lfewc w Ĥ O 1 HT t GGT 6 ; ' . $ = d m; c} W ߦ RW A f g I 4U x 3 f ғ {f xj , + I% 5 B's G, # t, L { c MD 笓 )! 9 M o; 8_ < i y sz и = Ջ^2 S% + 22`QV $ ~? wǥ_Q 퉦 'PKY'uIi [ @ 50014028337_report.xmlUTy2Xux 00PK \ --MIMEBoundaryurn_uuid_C91296EA5FF69EE9571479882375576565344--

Это строковый тип. и я извлек прикрепленные данные почтовый файл, т.е.

PKY'uIi [@ 50014028337_report.xmlUT y2Xy2Xux 00Rj @ + [PLX # (x, = l q] Lfewc w Ĥ O 1 HT t GGT 6 ; ' . $ = d m; c} W ߦ RW A f g I 4U x 3 f ғ {f xj , + I% 5 B's G, # t, L { c MD 笓 )! 9 M o; 8_ < i yszu = Ջ^2 S% + 22`QV $ ~? wǥ_Q 퉦 «PKY'uIi [@ 50014028338_report.xmlUTy 2Xux 00PK \

Это показывает, что в нем есть report.xml. Поэтому, когда я пишу эти данные в zip-файле, он создает zip-файл и при извлечении дает ошибку.

fs.writeFile("./static/DownloadFile.zip", fileData, 'binary', function(err){ 
        if (err) throw err; 
        console.log("success"); 
        }); 

Как правильно записать эти данные в zip-файле. Консультация Pls. Если потребуется дополнительная информация.

EDIT: Я пытался писать почтовый файл в PHP и succssfully писать его с этим кодом:

$zipFilename="DownloadFile.zip"; 
     $data  = $fileData; 
     $handler = fopen($zipFilename, 'wb') 
      or die("Failed. Cannot Open $zipFilename to Write!</b></p>"); 
     fwrite($handler, $data); 
     fclose($handler); 

Пожалуйста, советы, как я могу достичь того же в nodejs.

ответ

1

Как я вижу в вашем примере кода, ваши двоичные данные уже искажены модулем запроса. Просто используйте в запросе настройки

encoding:null 

и почтовый файл является действительным бинарным тела (теперь буфер вместо UTF-8 строку!), Вы можете распаковывать. Пока вы видите вопросительные знаки, у вас все еще есть проблема с кодировкой.

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

  • Нет связанных вопросов^_^