Как я получаю содержание заархивированного файла пользование rubyzip библиотекой?

Что-то определенно изменилось с обработкой manifest.json последнего обновления Chrome. (В моем случае, «Версия 72.0.3626.96 (Официальная сборка) (64-разрядная версия)» в Windows.) Мое расширение перестало работать так, как вы описали.

Решение моей проблемы состояло в том, чтобы удалить определенные URL-разрешения, которые я указал в разделе «разрешения», и заменить их на <all_urls>. Я попытался снова подтянуть их, но единственное, что мне помогло, было https://*/*.

Я проверил это на нескольких машинах, которые имели предыдущую версию Chrome, и у них было то же самое поведение ... успешная операция до обновления Chrome, никакого ответа после. Значок отображается правильно и показывает «Имеет доступ к этому сайту», но моя фоновая страница отказалась запускаться.

Удачи! Надеюсь, это поможет!

6
задан jcoby 25 October 2008 в 18:28
поделиться

2 ответа

Найденный еще более простым путем:

asset.data = entry.get_input_stream.read
10
ответ дан 8 December 2019 в 14:49
поделиться

Казалось бы, что можно или использовать read_local_entry метод как это:

asset.data = entry.read_local_entry {|z| z.read }

Или, Вы могли сохранить запись с этим методом:

data = entry.extract "#{RAILS_ROOT}/#{entry.name}"
asset.data = File.read("#{RAILS_ROOT}/#{entry.name}")

Я не уверен, как они будут работать, но возможно они помогут Вам найти правильный метод (если это не будет им).

И, еще одна альтернатива:

asset.data = zipfile.file.read(entry.name)
6
ответ дан 8 December 2019 в 14:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: