Наконец, я смог переименовать ваше изображение example.com с помощью следующего скрипта. Хотя, когда я пытаюсь сделать это с рабочим googleimage, он, похоже, не переименовывается. Так что, возможно, вы захотите побаловаться с этим.
Это среда пользовательских сценариев, поэтому у меня нет доступа к настройке сервера. В качестве таких:https://www.example.com/image-list
:
...
<a href="/image/1337">
<img src="//static.example.com/thumbnails/86fb269d190d2c85f6e0468ceca42a20.png"/>
</a>
<a href="//static.example.com/full/86fb269d190d2c85f6e0468ceca42a20.png"
download="1337 - Hello world!.png">
Download
</a>
...
Я не могу заставить сервер принимать удобные имена файлов, такие как
Я не могу настроить общий доступ к ресурсам.https://static.example.com/full/86fb269d190d2c85f6e0468ceca42a20 - 1337 - Hello World!.png
. а такжеwww.example.com
отделены стенкой CORS по дизайну.static.example.com
Как сделать Firefox и Chrome displayСохранить файл как диалог с предложенным именем файла"1337 - Привет, мир! .Png" когда пользователь нажимает на ссылку «Скачать»?После некоторой неудачи и поиска в Google, я узнал эти проблемы:
Firefox полностью игнорирует существование
атрибут на некоторых типах изображений MIME.download
Firefox полностью игнорирует существование атрибут на межсайтовых ссылках.download
Chrome полностью игнорирует значение атрибут на межсайтовых ссылках.download
Все эти пункты не делаютЛюбые для меня все выглядит как «давайте наложим случайные бессмысленные ограничения на функцию», но я должен принять их, поскольку это мое окружение.Существуют ли способы решения проблемы?
Справочная информация: я пишу пользовательский скрипт для доски изображений, который использует MD5-хэши в качестве имен файлов. Я хочу сделать сохранение с удобными именами проще. Все, что приближает меня к этому, было бы полезно.
Я думаю, что я могу обойти ограничения, используя URL-адреса объектов для больших двоичных объектов и локальный прокси-сервер со взломанными заголовками CORS, но эта настройка явно выходит за рамки разумного. Сохранение с помощью canvas может работать (являются ли изображения «защищенными» от CORS в этом случае?), Но это приведет либо к двойному сжатию с потерями, либо к преобразованию с потерями в потери, учитывая, что файлы JPEG не подходят.
@ RokoC.Buljan