Показать сообщение отдельно
  #1 (permalink)  
Старый 18.06.2022, 23:04
Аспирант
Отправить личное сообщение для Olga27 Посмотреть профиль Найти все сообщения от Olga27
 
Регистрация: 10.06.2021
Сообщений: 49

Как сохранить изображение в папку, через js?
Делаю сохранение изображение путем создания Blob и декодирования данных и последующего сохранения в папку. Файл сохраняется по разному в зависимости от версии браузера, в некоторых случаях требуется подтверждения всплывающего окна:
Screenshot1.jpg
В других происходит по умолчанию в папку с картинками и появляется уведомление, что image сохранилось (пример на картинке).
Screenshot2.jpg
Как сделать сохранения в корень сайта, в указанную папку без всплывающих окон и появления внизу уведомлений? Сделать с помощью этого.
var a = document.createElement("a");
a.href = url;
a.download = filename.val();
document.body.appendChild(a);

Полностью код:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<script src="./jquery-1.9.1.js"></script>
<title>Save Files</title>
<style>
body {
  font-family: sans-serif;
  
}
#file-area {
  border: 2px dashed #ccc;
  border-radius: 20px;
  width: 480px;
  margin: 50px auto;
  padding: 20px;
}
</style>

</head>

<body>

<div id="file-area">
  <form id="form_upload" class="my-form">
  
  <p>
  Имя файла:
  <input type="text" id="filename" value="filename"/></p>
  <p><input type="file" name="file" id="file1" size="1"/></p>
  
 </form>
  
</div>



</form>
<script>
//https://stackovergo.com/ru/q/3737131/create-and-save-a-file-with-javascript-duplicate
// https://ask-dev.ru/info/13916/create-a-file-in-memory-for-user-to-download-not-through-server
$('input[type=file]').on('change', function(event) {
  addFiles(this.files);
});

function addFiles(files)
{
  
  var file1 = document.getElementById("file1");
	var filename = $("#filename");
	
	file = file1.files[0];
	
	
	var fr=new FileReader;
	
	fr.addEventListener("load",function()
  {
    var url=fr.result;
    //Декодирование данных
    for(var decodedData=atob(fr.result.split(",")[1]),dt=[],ec1=0;ec1<decodedData.length;ec1++)
    {
      dt.push(decodedData.charCodeAt(ec1));
    }
    url=window.URL.createObjectURL(new Blob([new Uint8Array(dt)],{type:"image/jpeg"}))
    
    document.write('<img src="'+url+'">');
        var a = document.createElement("a");
        a.href = url;
        a.download = filename.val();
        document.body.appendChild(a);
        a.click();
        setTimeout(function() {
            document.body.removeChild(a);
            window.URL.revokeObjectURL(url);  
        }, 0); 
  },false)
  fr.readAsDataURL(file)
}
</script>
</body>
</html>
Ответить с цитированием