Подтвердить что ты не робот

Как игнорировать "Content-Disposition: attachment" в Firefox

Как я могу заставить Firefox игнорировать заголовок Content-Disposition: attachment? Мне очень неприятно, что я не могу просмотреть изображение в браузере, потому что он просит его загрузить его.

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

например. У меня есть Adobe Acrobat Reader, установленный как плагин для Firefox. Я нажимаю ссылку на PDF файл, и он просит его сохранить его, когда он откроется в браузере с помощью плагина. Это поведение, если сервер не отправляет заголовок Content-Disposition: attachment в ответ.

Firefox 3.6.6 Windows XP SP3

4b9b3361

Ответ 2

Этот - это аддон Firefox, который вы ищете, чтобы исправить эту проблему.

Ответ 3

Ну, что цель типа привязки "привязанность".

Поведение по умолчанию (когда заголовок отсутствует) должен отображаться в строке.

Возможно, есть проблема с конфигурацией в вашем браузере или плагин Reader?

Ответ 4

Перейдите в "Инструменты" > "Параметры" > "Приложения" и измените параметр выпадающего меню "Всегда задавать", связанный с определенным типом контента, по умолчанию для вашего приложения.

Ответ 5

Вы можете написать расширение firefox, которое удаляет заголовок расположения файлов PDF. Это было бы довольно простое расширение.

Ответ 6

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

Ответ 7

Я также нашел это сегодня, что полностью предотвращает загрузку Firefox на ваш рабочий стол. Фактически это исправление переадресации в папку скрытых/частных/временных файлов в MAC. Genius.

Вы можете имитировать поведение Windows, просто изменив [Firefox] загрузите каталог в /tmp.

Чтобы сделать это, откройте панель Firefox General preferences, в разделе Save Downloaded Files To выберите [выбрать].... В появившемся диалоговом окне, нажмите Shift-Command-G, чтобы открыть диалоговое окно Go to Folder.

В этом диалоговом окне просто введите /tmp, нажмите OK, затем нажмите Select в главного окна.

Ответ 8

Поскольку я искал решение, и никакое доступное дополнение на самом деле не работало с моим Firefox 31.0 (Ubuntu), я решил попробовать создать собственное дополнение.

Код, если вы хотите архивировать аналогичную цель или просто хотите знать, как она работает.

console.log("starting addon to disable content-disposition...");

//getting necessary objects
var {Cc, Ci} = require("chrome");

//creating the observer object which alters the Content-Disposition header to inline
var httpResponseObserver = {
    //gets fired whenever a response is getting processed
    observe: function(subject, topic, data) {
        if (topic == "http-on-examine-response") {
            var httpChannel = subject.QueryInterface(Ci.nsIHttpChannel);
            httpChannel.setResponseHeader("Content-Disposition", "inline", false);
        }
    }, 
    //needed for this.observerServer.addObserver --> without addObserver will fail
    get observerService() {
        return Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
    },
    //used to register with an observer
    register: function() {
        console.log("register with an observer to get response-events");
        this.observerService.addObserver(this, "http-on-examine-response", false);
    },
    //used to unregister from the observer
    unregister: function() {
        console.log("unregister from observer");
        this.observerService.removeObserver(this, "http-on-examine-response");
    }
};

//gets called at enable or install of the add-on
exports.main = function(options, callbacks) {
    console.log("content-dispostion main method got invoked");
    //call register to make httpResponseObserver.observe get fired whenever a response gets processed
    httpResponseObserver.register();
};

//gets called on disable or uninstall
exports.onUnload = function(reason) {
    console.log("content-dispostion unloaded");
    //unregister from observer
    httpResponseObserver.unregister();
};

/*

//not needed!!! just test code for altering http-request header

var httpRequestObserver =
{
  observe: function(subject, topic, data)
  {
    console.log("in observe...");
    console.log("topic is: " + topic);
    if (topic == "http-on-modify-request") {
      var httpChannel = subject.QueryInterface(Ci.nsIHttpChannel);
      httpChannel.setRequestHeader("X-Hello", "World", false);
    }
  },

  get observerService() {
    return Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
  },

  register: function()
  {
    this.observerService.addObserver(this, "http-on-modify-request", false);
  },

  unregister: function()
  {
    this.observerService.removeObserver(this, "http-on-modify-request");
  }
};
httpRequestObserver.register();
*/

В качестве альтернативы вы можете получить мой xpi файл для непосредственной установки надстройки в Firefox. Если вы хотите отключить изменение "Content-Disposition", просто отключите надстройку;-).

http://www.file-upload.net/download-9374691/content-disposition_remover.xpi.html