Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

function savefile(); exporta padrão pra pasta downloads

Bom dia, gostaria de uma ajuda, a função está exportando direto para pasta download, eu gostaria de poder escolher em qual pastar salvar o arquivo. ainda não consegui enxergar uma solução para essa funcionalidade, agradeço a todos que se dispõem a me dar uma ajuda ou até mesmo um direcionamento, abraço!

function saveFile(){
var textToSave = document.getElementById("wmd-input").value;
var textToSaveAsBlob = new Blob([textToSave], {type:"text/plain"});
var textToSaveAsURL = window.URL.createObjectURL(textToSaveAsBlob);
var fileNameToSaveAs = document.getElementById("inputFileName").value;

var downloadLink = document.createElement("a");
downloadLink.download = fileNameToSaveAs+".md";
downloadLink.innerHTML = "Download File";
downloadLink.href = textToSaveAsURL;
downloadLink.onclick = destroyClickedElement;
downloadLink.style.display = "none";
document.body.appendChild(downloadLink);

downloadLink.click();
}
6 respostas

Isso é configuração do navegador. No chrome, por exemplo, tem uma opção nas configurações que se chama "Perguntar antes de salvar cada arquivo antes de fazer download" e o local de download logo a cima.

chrome://settings/search#Downloads

e ai Diego, minha ideia seria quando eu clicasse no botão salvar abrisse o diretórios do sistemas operacional padrão e não do navegador. você teria um direcionamento a esse respeito??

Como eu disse, isso é configuração do navegador, você não tem poder sobre a forma como ele vai tratar os downloads, você simplesmente diz pra ele baixar o arquivo, agora, se esse download vai ser feito diretamente para uma pasta ou se haverá a possibilidade de escolher uma pasta fica a critério do navegador ou do usuário que configurou este.

eu imaginei que seria possível salvar no sistema operacional, exemplo: quando salvamos um arquivo do sublimetext, ele abre o sistema de arquivo do sistema para escolher qual diretório deseja salvar. Imaginei que seria possível fazer exatamente isso com um sistema web que exporta arquivos.

solução!

Olá André,

Isso não é possível usando apenas linguagens no front-end. O Sublime é um programa que você baixa em seu computador e portanto ele tem uma linguagem de back-end (Python) controlando o seu funcionamento.

Caso você estivesse desenvolvendo uma aplicação desktop, teria possibilidade de fazer o que quer, mas como está trabalhando para web isso não é possível.

Os navegadores são independentes do sistema de arquivos local, isso serve para evitar ataques de script, ou seja, é impossível fazer o que você quer.

Att.

Muito esclarecedor Wagner, :D Agradeço a todos que puderam contribuir com minha dúvida! abraço