Сохранить изображения на жесткий диск БЕЗ подсказки?

Я использую твиттер. Твиты некоторых людей содержат фотографии, и я хочу их сохранить.

Я проверил ifttt, где твиттер не является триггером. Таким образом, ifttt не может помочь мне сделать это.

Одна идея, вероятно, заключается в использовании JavaScript. Я использую Firefox и установил Greasemonkey. Я могу написать скрипт Greasemonkey (JavaScript), работающий на твиттер-сайте. Как только я нажимаю ссылку "ретвит" или другую кнопку, добавленную моим сценарием, мой сценарий проверяет содержимое твита, находит URL-адрес фотографии и сохраняет ее на моем диске.

Одна проблема заключается в том, как сохранить изображение. Я искал в Интернете. Некоторые используют win.document.execCommand("SaveAs"), и он покажет окно "сохранить как". Теперь, когда окно показывает, почему бы просто не щелкнуть правой кнопкой мыши по изображению и выбрать сохранить как вручную? Так что мне не нравится метод.

Какие-либо предложения?

6 ответов

Решение

Greasemonkey не может этого сделать, потому что обычному javascript запрещено делать это (по соображениям безопасности), а API Greasemonkey не предоставляет метод для записи файлов (и никогда не будет).

Вот четыре варианта:

  1. Обновление: переключитесь на Tampermonkey, что вы должны сделать в любом случае. Тогда вы можете использовать GM_download, как сказал пользователь 136036 в своем ответе.

    или же

  2. Установить и используйте отличное дополнение DownThemAll (Обновление: Firefox 57 отказался от поддержки этого вида расширения). Это по-прежнему требует одного клика, но это лучше, чем всегда захватывать файл волей-неволей, в большинстве случаев в любом случае.

    или же

  3. Написать свой добавить расширение. См. Этот (ныне устаревший) ответ для кода для записи файлов от одного из лучших гуру дополнений FF. Но "новые" расширения стиля все еще могут это делать.

    или же

  4. Используйте XAMPP (или аналогичный) для запуска веб-сервера на вашем компьютере. Затем вам нужно будет написать веб-приложение, которое исключает входящие данные изображения (или только URL-адрес изображения) и сохраняет изображение на диск.

Это возможно при использовании Tampermonkey (Firefox или Chrome).
Они добавили команду GM_Download.
Вы можете использовать это так:

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http*://*/*
// @grant        GM_download
// ==/UserScript==


var arg = { url: "https://example.com/123456.jpg",
            name: "CustomFileName.jpg"
          };

GM_download(arg);

Для получения дополнительной помощи и доступных опций см. Документацию Tampermonkey: https://tampermonkey.net/documentation.php

JavaScript не имеет доступа к файловой системе компьютера.

Для этого нет встроенной функции JS. В противном случае любой сайт сможет сохранить что-либо на вашем компьютере, что приведет к тому, что ваш компьютер будет испорчен в кратчайшие сроки.

Вы не сможете сделать это так, как хотели бы. Если браузеры разрешают веб-сайтам сохранять любой контент, который они хотят, непосредственно на компьютере пользователя... вы можете представить себе последствия.

Плагин является правильным ответом на это. Если вы ищете платформу Firebreath, она дает вам возможность кроссплатформенности, а также работает со всеми возможными браузерами, включая IE. Это тоже легко учиться

Вы можете легко сделать это в Firefox, выбрав опцию Сохранить это автоматически, а не запрашивать. Я думаю, эта опция должна быть доступна и в Chrome.

В первый раз, когда вы загружаете файл с новым расширением, скажем, Zip или jpg, браузер может подсказать вам, где сохранить этот файл. В этом случае вы можете установить местоположение в местоположение по умолчанию, куда вы хотите загружать файлы, и установить флажок Автоматически загружать такие файлы.

Другие вопросы по тегам