Digamos que eu tenho esse elemento na página:
<input id="image-file" type="file" />
Isso criará um botão que permite que os usuários da página da web selecionem um arquivo por meio da caixa de diálogo "Arquivo aberto ..." no navegador.
Digamos que o usuário clica no botão, seleciona um arquivo na caixa de diálogo e, em seguida, clica no botão "Ok" para fechar a caixa de diálogo.
O nome do arquivo selecionado agora está armazenado em:
document.getElementById("image-file").value
Agora, digamos que o servidor lida com POSTs com várias partes no URL "/ upload / image".
Como envio o arquivo para "/ upload / image"?
Além disso, como escuto a notificação de que o upload do arquivo terminou?
javascript
file-upload
YummyBánhMì
fonte
fonte
Respostas:
A menos que você esteja tentando fazer upload do arquivo usando ajax, basta enviar o formulário para
/upload/image
.Se você deseja fazer upload da imagem em segundo plano (por exemplo, sem enviar o formulário inteiro), você pode usar o ajax:
fonte
JS puro
Você pode usar buscar opcionalmente com aguardar-tentar-pegar
Mostrar snippet de código
Abordagem da velha escola - xhr
Mostrar snippet de código
RESUMO
filename
parâmetro formData.Content-Type
comomultipart/form-data
- isso será definido automaticamente pelo navegador./upload/image
você pode usar o endereço completo comohttp://.../upload/image
.multiple
atributo:<input multiple type=... />
e anexe todos os arquivos escolhidos ao formData de maneira semelhante (por exemplophoto2=...files[2];
...formData.append("photo2", photo2);
)let user = {name:'john', age:34}
, desta maneira:formData.append("user", JSON.stringify(user));
fonte
enctype="multipart/form-data"
net::ERR_ABORTED 405 (Method Not Allowed)