Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions apps/knowledge/models/knowledge.py
Original file line number Diff line number Diff line change
Expand Up @@ -435,15 +435,19 @@ def get_bytes(self):
buffer = io.BytesIO()
for chunk in self.get_bytes_stream():
buffer.write(chunk)
data = buffer.getvalue()
try:
# 解压数据
with zipfile.ZipFile(buffer) as zip_file:
names = [name for name in zip_file.namelist() if not name.endswith("/")]
if len(names) != 1:
return data
# 用 zip 内实际存储的条目名,避免文件名不匹配
name = zip_file.namelist()[0]
name = names[0]
return zip_file.read(name)
except Exception as e:
except zipfile.BadZipFile:
# 如果数据不是zip格式,直接返回原始数据
return buffer.getvalue()
return data

def get_bytes_stream(self, start=0, end=None, chunk_size=64 * 1024):
def _read_with_offset():
Expand Down
Loading