2016-03-16 3 views
0

В настоящее время я пытаюсь создать ссылку на общий доступ к файлу PDF, который был просто загружен через мое приложение, при использовании API Dropbox Core.Ошибка Dropbox Core API 413 при создании ссылки на общий ресурс

код ниже:

request.post('https://api.dropboxapi.com/1/shares/auto/proposals/'+name+'?short_url=false',{ 
     headers: { Authorization: 'Bearer TOKEN HERE', 'Content-Type': 'application/pdf' 
     },body:content}, function optionalCallback (err, httpResponse, bodymsg) { 
     if (err) { 
      console.log(err); 
    }else{ 
      console.log('Shared link ' + JSON.stringify(httpResponse)); 
} 
}); 

Очки отметить:

  1. формата PDF размер файла 11Мб, я могу успешно и легко загрузить файл в Dropbox с помощью API.
  2. Проблема возникает только при попытке создать ссылку общего доступа для недавно загруженного 11 МБ файла.
  3. Также обратите внимание, что я использую Node.JS для загрузки & создавать ссылки для ссылок.

Ошибка:

Ошибка я получаю HTTP Error 413, который на основе своих исследований означает "объект запроса слишком большой"

Ниже изображение ошибки, его не все изображение, как ошибка была слишком долго:

enter image description here

Максимальный размер файла для загрузки через API составляет 150 МБ, а мой файл находится ниже линии. Есть ли отдельный размер файла для создания общих ссылок?

Примечание

Я испытал небольшие файлы размером 1 Мбайт до 2 Мбайт и был успешно способен генерировать ссылку акций, возникает вопрос с большими файлами, то есть (11Mb)

+0

Какова ценность 'content'? 413 предполагает, что вы отправляете большое количество данных в Dropbox, но ['/shares'](https://www.dropbox.com/developers-v1/core/docs#shares) обрабатывает только два параметра (' locale и 'short_url'), и они должны быть маленькими. Кроме того, вы отправляете 'application/pdf' как' Content-Type', но этот метод ожидает сообщения формы. – smarx

ответ

0

Основываясь на том, что вы «Отправляя тело и используя Content-Type из application/pdf, я собираюсь предположить, что вы пытаетесь загрузить файл с помощью этого вызова API, но это не то, что делает /shares. /shares - это способ создания общей ссылки на файл, который уже находится в Dropbox. Вы должны загрузить с помощью, например, /files_put, а затем вызовите /shares, чтобы создать общую ссылку на этот файл.