Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Есть ли способ загрузить изображение с ПК? (https://javascript.ru/forum/misc/79687-est-li-sposob-zagruzit-izobrazhenie-s-pk.html)

AndrewKokorev 09.03.2020 20:44

Есть ли способ загрузить изображение с ПК?
 
Привет, парни.
При попытке загрузить файл через input type="file" вылазить ошибка с fakepath/имя файла.
Подскажите что можно сделать в таких случаях.

laimas 09.03.2020 20:56

Цитата:

Сообщение от AndrewKokorev
При попытке загрузить файл через input type="file"

Вызывая диалог выбора файла?

AndrewKokorev 09.03.2020 21:59

С выбором файла нет проблем, проблема появляется при попытке присвоить ссылку переменной на файл Not allowed to load local resource: file:///C:/fakepath/EgAaBLArYI4.jpg. Т.к. путь fakepath, то js файл естественно не находит.

Aetae 09.03.2020 22:15

Тебе незя лезть на компутер пользователя. Все выбраные файлы по onchange ложатся в event.files. И с ними ты можешь уже делать что хочешь. Например чтобы получить специальную ссылку на файл, которую можно использовать как обычную - используй URL.createObjectURL(file).

<input type="file" multiple accept="image/*" onchange="handleFiles(this.files)"><br>
<script>
function handleFiles(files) {
  for (let i = 0; i < files.length; i++) {
    const img = document.createElement("img");
    img.src = URL.createObjectURL(files[i]);
    img.style.maxHeight = '100px';
    img.onload = function() {
      URL.revokeObjectURL(this.src);
    }
    document.body.appendChild(img);
  }
}
</script>

AndrewKokorev 10.03.2020 02:08

Мужик, ты просто рок-звезда этого форума. Третий раз меня спасаешь уже))Спасибо


Часовой пояс GMT +3, время: 14:10.