2015-08-31 3 views
0

У меня есть файл filepicker url файла pdf. Мне нужно заменить этот pdf-файл другим PDF-файлом, сохранив тот же url в nodejs.Как заменить файл filepicker с помощью запроса?

У меня есть строка base64 в формате pdf, которую я хочу отправить файловому пиктору. Я знаю, что мне нужно сделать какой-то пост-запрос (желательно с помощью модуля запроса), но не совсем уверен, как это выполнить.

Заранее благодарен!

UPDATE

Ниже приводится запрос, но в формате PDF в настоящее время сохраняется в виде поврежденного файла в filepicker. Я не думаю, что правильно настроил свой объект запроса для base64 pdf. Я получаю строку из pdfunite, которая работает правильно, потому что я пробовал отправлять ее по электронной почте в виде вложения, и она отображается правильно.

request.post({url: 'https://www.hypdf.com/pdfunite', encoding: null, formData: formData}, function(err, res3, body3){ 
     console.log(res3.statusCode); 
     console.log(err); 
     dpdf = body3.toString('base64'); //this is the pdf I want to send to filepicker 

     var options = { 
     method: 'POST', 
     body: dpdf, 
     url: FILEPICKER_URL, 
     headers: [ 
      { 
      name: 'content-type', 
      value: 'application/pdf' 
      } 
     ] 
     }; 

     request(options, function(err, httpResponse, body){ 
     console.log('body: ', body); 
     console.log('code ', httpResponse.statusCode) 
     }); 
}); 

ответ

1

Чтобы перезаписать существующий файл filepicker, отправьте запрос POST с ссылкой на файл и данные.

Это основной пример node.js для текстового файла, должен быть аналогичным для pdf.

var request = require('request'); 

var existedFileUrl = 'https://www.filepicker.io/api/file/9jUqfXmSoWZiTN4Zcq9H'; 

request(existedFileUrl, function (error, response, body) { 

    console.log('Original content: ', body); 

    var input = process.argv[2] || 'new_text'; 

    var options = { 
     method: 'post', 
     body: input, 
     // append base64decode option for base64 string 
     url: existedFileUrl + '?base64decode=true' 
    }; 

    request(options, function(err,httpResponse,body){ 
     console.log('body: ', body); 
    }); 
}); 

также проверить документы https://www.filepicker.com/documentation/file_ingestion/rest_api/writing

+0

Благодаря krystiangw! Я выполнил запрос, но сохраненный pdf-файл поврежден. Я не думаю, что правильно настроил объект запроса для pdf. Это не файл, это строка base64, которая является pdf. Я обновил вопрос соответствующим образом. Любые мысли по этому поводу? – user3527354

+0

Я отредактировал мое сообщение. base64decode = true должен работать. – krystiangw

+0

Работает! Спасибо, krystiangw! – user3527354

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