Я пытаюсь загрузить объект / файл из AWS S3 на локальный компьютер. Я хотел бы предоставить пользователю возможность указать локальный путь. В HTML у нас есть
<form> and <input type="file">
элементы, чтобы предоставить пользователю возможность выбрать файл из файловой системы для загрузки. Как мы делаем обратное? Любые указатели будут с благодарностью.
Ты не можешь
Возможность сделать это может привести к тому, что веб-сайты будут пытаться /etc/hosts
, ~/.bash_profile
, C:\Windows\System32
и т. д. Вы можете установить (рекомендуемое) имя файла, но оно будет идти в соответствии с предпочтениями браузера Downloads
папка.
Это проблема безопасности — писать в файловую систему где угодно. Вы можете представить его как загрузку (application / octet-stream / Content-Disposition), но браузер пользователя в конечном итоге получает право выбора.
Вы можете принудительно загрузить файл вместо отображения на странице с сервера только с конкретным именем файла, но на этом он останавливается. В браузере есть возможность открыть диалоговое окно «Сохранить как» или сохранить его в папке «По умолчанию».
Кстати, когда пользователь решает загрузить файл, вы на самом деле не получаете дорожка либо — вы получите поддельный путь и определенное пользователем реальное имя файла. В Windows Chrome отправляет что-то вроде c:\fakepath\
поэтому он не раскрывает слишком личную информацию на пути.