Хорошая zlib реализация в.NET?

db - это просто локальная переменная в функции create_app(). Вам нужно будет создать этот объект за пределами фабрики create_app().

Вы можете создать объект плагина Flask-SQLAlchemy db , не передавая аргумент app, и на фабрике подключить этот объект к te Flask app с помощью [117 ], как вы это уже делали для плагина Flask-SocketIO:

db = SQLAlchemy()

def create_app(debug=False):
    app = Flask(__name__)
    app.debug = debug
    app.config['SECRET_KEY'] = 'gjr39dkjn344_!67#'
    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql:///site.db'

    db.init_app(app)
    socketio.init_app(app)

    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    return app 

Теперь db доступен как глобальный элемент в модуле и может быть импортирован в другое место.

7
задан Community 23 May 2017 в 11:45
поделиться

4 ответа

Включенный в DotNetZip существует ZlibStream для сжатия или распаковки zlib потоки данных. Вы не спросили, но существует также GZipStream и DeflateStream. А также класс ZlibCodec, если это - Ваша вещь. (просто расширяет или выкачивает буферы, в противоположность потокам).

DotNetZip является полностью-управляемой-библиотекой с либеральной лицензией. Вы не должны использовать ни одну .zip возможность достигнуть материал Zlib. И материал zlib упаковывается как отдельный (меньший) DLL просто с этой целью.

3
ответ дан 7 December 2019 в 10:08
поделиться

SharpZipLib действительно поддерживает ZLib. Посмотрите в FAQ.

Кроме того, имейте Вас, проверил ли Система. Пространство имен IO.Compression поддерживает то, в чем Вы нуждаетесь?

Я не использовал бы IEnumerable<byte> хотя - потоки разработаны, чтобы быть объединенными в цепочку вместе.

Править: Хорошо... это кажется на необходимость в потоке, который поддерживает буферизацию, но с большим количеством управления, чем BufferedStream обеспечивает. Необходимо было бы "перемотать" поток, если бы Вы видели, что распаковка переключилась и затем создала GZipStream сверху его. Ваш буфер должен был бы быть, по крайней мере, столь же большим как Ваш самый большой вызов Read () так, чтобы у Вас могло всегда быть достаточно буфера для перемотки.

3
ответ дан 7 December 2019 в 10:08
поделиться

Я могу рекомендовать Вам zlib обертку Gerry Shaw для.NET:

http://www.organicbit.com/zip/

0
ответ дан 7 December 2019 в 10:08
поделиться

Насколько я знаю, что ZLib (gzip) библиотека не поддерживает список файлов в заголовке. Принятие, которое имеет значение для Вас, но это кажется большим недостатком. Это было, когда я пользовался резкой библиотекой zip только что, таким образом, я готов удалить это :)

0
ответ дан 7 December 2019 в 10:08
поделиться
Другие вопросы по тегам:

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