|
|
|
|
@ -76,13 +76,25 @@ class WordExtractor(BaseExtractor):
|
|
|
|
|
for rel in doc.part.rels.values():
|
|
|
|
|
if "image" in rel.target_ref:
|
|
|
|
|
image_count += 1
|
|
|
|
|
image_ext = rel.target_ref.split('.')[-1]
|
|
|
|
|
# user uuid as file name
|
|
|
|
|
file_uuid = str(uuid.uuid4())
|
|
|
|
|
file_key = 'image_files/' + self.tenant_id + '/' + file_uuid + '.' + image_ext
|
|
|
|
|
mime_type, _ = mimetypes.guess_type(file_key)
|
|
|
|
|
|
|
|
|
|
storage.save(file_key, rel.target_part.blob)
|
|
|
|
|
if rel.is_external:
|
|
|
|
|
url = rel.reltype
|
|
|
|
|
response = requests.get(url, stream=True)
|
|
|
|
|
if response.status_code == 200:
|
|
|
|
|
image_ext = mimetypes.guess_extension(response.headers['Content-Type'])
|
|
|
|
|
file_uuid = str(uuid.uuid4())
|
|
|
|
|
file_key = 'image_files/' + self.tenant_id + '/' + file_uuid + '.' + image_ext
|
|
|
|
|
mime_type, _ = mimetypes.guess_type(file_key)
|
|
|
|
|
storage.save(file_key, response.content)
|
|
|
|
|
else:
|
|
|
|
|
continue
|
|
|
|
|
else:
|
|
|
|
|
image_ext = rel.target_ref.split('.')[-1]
|
|
|
|
|
# user uuid as file name
|
|
|
|
|
file_uuid = str(uuid.uuid4())
|
|
|
|
|
file_key = 'image_files/' + self.tenant_id + '/' + file_uuid + '.' + image_ext
|
|
|
|
|
mime_type, _ = mimetypes.guess_type(file_key)
|
|
|
|
|
|
|
|
|
|
storage.save(file_key, rel.target_part.blob)
|
|
|
|
|
# save file to db
|
|
|
|
|
config = current_app.config
|
|
|
|
|
upload_file = UploadFile(
|
|
|
|
|
|