put(file, options)
put() envia um arquivo e retorna o novo objeto.
Entradas
A extensão do objeto vem de
filename, depois do nome base do caminho ou do nome do File. Bytes e um Blob simples não têm nome, então passe filename (por exemplo "data.json") ao enviá-los.
No Node.js, um caminho que não pode ser aberto lança um
Error simples (Cannot open file: <path>, com o erro original em cause). No navegador, passar um caminho falha antes, com o erro da importação de node:fs. Use um File de um <input type="file"> em vez disso.Opções
Veja Envio de objeto para todas as regras do lado do servidor.
Resultado
Uploads simples e multipart
put() escolhe o fluxo de upload a partir do tamanho do arquivo:
Todo arquivo precisa ter pelo menos 512 bytes; arquivos menores falham com
FILE_TOO_SMALL. Um max_size de uma regra ou de um token de upload, ou sua cota de armazenamento, pode reduzir o teto de 10 GiB.
Como um upload multipart funciona
- O SDK inicia o upload, e o servidor responde com seus limites de partes (
max_size,max_parts). - O arquivo é dividido em partes de
min(max_size, max(16 MiB, ceil(size / max_parts)))bytes. Uma parte geralmente tem 16 MiB ou mais, mas é menor quando omax_sizedo servidor é menor. - As partes são enviadas 6 por vez, o limite do servidor para partes em andamento. Uma parte que falha é tentada novamente dentro de
maxRetries. - Quando todas as partes chegam, o SDK conclui o upload.
put() novamente.
Uma conta pode ter no máximo 32 uploads multipart abertos (compartilhados com o gateway S3); mais um falha com
TOO_MANY_OPEN_UPLOADS. Como as partes vão 6 por vez por conta, execute um upload grande por vez.Upload a partir do navegador
Nunca envie a chave de API para um navegador. Em vez disso, seu servidor gera um token de upload de curta duração e o navegador faz o upload com ele.- Servidor
put(), incluindo uploads multipart. Qualquer outro método falha com 403 UPLOAD_TOKEN_NOT_ALLOWED.
uploadTokens.create(options)
O token fixa todas as opções com que foi gerado.
Retorna
{ token, expires_at, max_uses }. Veja Tokens de upload para as regras do lado do servidor.
uploadTokens.create() é uma escrita e tem uma única tentativa: nunca é repetido.
