压缩数据到内存
(self, data, compression_level=9)
| 404 | return super().save() |
| 405 | |
| 406 | def _compress_data(self, data, compression_level=9): |
| 407 | """压缩数据到内存""" |
| 408 | buffer = io.BytesIO() |
| 409 | with zipfile.ZipFile(buffer, "w", zipfile.ZIP_DEFLATED) as zip_file: |
| 410 | zipinfo = zipfile.ZipInfo(self.file_name) |
| 411 | zipinfo.compress_type = zipfile.ZIP_DEFLATED |
| 412 | zip_file.writestr(zipinfo, data, compresslevel=compression_level) |
| 413 | |
| 414 | return buffer.getvalue() |
| 415 | |
| 416 | def _create_large_object(self): |
| 417 | result = select_one("SELECT lo_creat(-1)::int8 as lo_id;", []) |