Códigos de Upload

Sem login

function upload(midia) {
  return new Promise(async (resolve, reject) => {
    try {
      // Determina a extensão automaticamente se necessário
      let { ext } = await fromBuffer(midia);
      let form = new FormData();
      form.append('file', midia, 'tmp.' + ext);
      // Faz upload para o servidor NetherHost sem autenticação
      await fetch('https://cloud.netherhost.com.br/upload', {
        method: 'POST',
        body: form
      })
      .then(response => response.json())
      .then(data => {
        // O backend retorna { url: 'https://…' }
        resolve(data.url);
      })
      .catch(erro => reject(erro));
    } catch (erro) {
      reject(erro);
    }
  });
}
      

Com login

Para utilizar a API autenticada, faça login na plataforma e utilize o token retornado. Substitua o parâmetro token abaixo pelo seu token de sessão (encontrado no localStorage após o login).

function uploadAuthenticated(midia, token) {
  return new Promise(async (resolve, reject) => {
    try {
      let { ext } = await fromBuffer(midia);
      let form = new FormData();
      form.append('file', midia, 'tmp.' + ext);
      // Inclui o token de autenticação no cabeçalho Authorization
      await fetch('https://cloud.netherhost.com.br/upload', {
        method: 'POST',
        body: form,
        headers: {
          'Authorization': 'Bearer ' + token
        }
      })
      .then(resp => resp.json())
      .then(data => {
        resolve(data.url);
      })
      .catch(erro => reject(erro));
    } catch (erro) {
      reject(erro);
    }
  });
}