Como você define o nome de um arquivo de blob no JavaScript quando forçar o download através de window.location?
function newFile(data) {
var json = JSON.stringify(data);
var blob = new Blob([json], {type: "octet/stream"});
var url = window.URL.createObjectURL(blob);
window.location.assign(url);
}
A execução do código acima baixa um arquivo instantaneamente sem uma atualização de página parecida com:
bfefe410-8d9c-4883-86c5-d76c50a24a1d
Quero definir o nome do arquivo como my-download.json .
javascript
html
download
blob
html5-filesystem
Cinza Azul
fonte
fonte
Eu só queria expandir a resposta aceita com suporte para o Internet Explorer (versões mais modernas, enfim) e organizar o código usando o jQuery:
Aqui está um exemplo do Fiddle . Godspeed .
fonte
Mesmo princípio que as soluções acima. Mas tive problemas com o Firefox 52.0 (32 bits) em que arquivos grandes (> 40 MBytes) são truncados em posições aleatórias. Agendar novamente a chamada de revokeObjectUrl () corrige esse problema.
exemplo jsfiddle
fonte
Tarde, mas como tive o mesmo problema, adicionei minha solução:
fonte
revokeObjectURL
depoislocation.assign
funciona bem no Firefox, mas interrompe o download no Chrome.fonte
link.click()
vez de enviar um evento de mouse.Exemplo prático de um botão de download, para salvar uma foto de gato de um URL como "cat.jpg":
HTML:
JavaScript:
fonte
window.location.assign não funcionou para mim. ele baixa bem, mas baixa sem uma extensão para um arquivo CSV na plataforma Windows. O seguinte funcionou para mim.
fonte
Esta é a minha solução. Do meu ponto de vista, você não pode ignorar o
<a>
.fonte