DeepLcom / deepl-python

Official Python library for the DeepL language translation API.
https://www.deepl.com
MIT License
1.14k stars 80 forks source link

Failed to open the uploaded document #117

Open AK47Poi opened 3 months ago

AK47Poi commented 3 months ago

Hi,when I use the code to upload the file for translation, the translation reports an error.How can I change my code? deepl.exceptions.DocumentTranslationException: Error occurred while translating document: Failed to open the uploaded document.

JanEbbing commented 3 months ago

This indicates an error on the server side (the server could not open your document). Does this happen consistently, even if you retry the translation? Are you sending a valid document of the supported types?

AK47Poi commented 3 months ago

I encounter the same error when I retry the translation, and I am uploading files of types docx, xlsx, and pptx. Can I provide the docid to help investigate the issue?

fernandolvwrk commented 1 month ago

To solve this problem, do not use the file path, send the file as a binary data stream.

with open(file=filepath, mode="rb") as f:
    doc_handle = translator.translate_document_upload(input_document=f.read(),... 
JanEbbing commented 1 month ago

Were you using translate_document on a filepath? That method only works with file-like objects, as the docs state. We have translate_document_from_filepath to pass in file paths. See for example our tests on these:

From filepath

From file object

fernandolvwrk commented 1 month ago

Yes, you are 100% right. translate_document_from_filepath() works fine with a filepath, but my app needs to execute the steps individually, so I had to use translate_document_upload(), translate_document_get_status(), and translate_document_download(). You are right again, the docs state clearly that translate_document_upload() requires a file object or a stream. Thanks!