Перевод PDF-файла, хранящегося в хранилище Google, с помощью клиента службы Google Translate на Java и сохранение перевеJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Перевод PDF-файла, хранящегося в хранилище Google, с помощью клиента службы Google Translate на Java и сохранение переве

Сообщение Anonymous »

Я написал функцию, принимающую 2 параметра.

[*]Подписанный URL-адрес в качестве параметра (URL-адрес файла, хранящегося в хранилище Google)
< li>Язык назначения
Он переводит файл на целевой язык и сохраняет его по тому же пути с дополнительным текстом в имени файла (например, filename_translated) и возвращает подписанный URL-адрес переведенного файла

Теперь проблема, с которой я столкнулся, заключается в том, что я не могу открыть файл, используя подписанный URL-адрес, и получаю следующую ошибку

Код: Выделить всё

NoSuchKey
The specified key does not exist.
No such object: we-aid-translation/3159_Invoice-24BD5880-
0009_DE_translations.pdf


Ниже приведен код, который я использую для создания URL-адреса переведенного файла.
TranslateDocumentResponse response = client.translateDocument(request);
log.info("response: {}", response.toString());
String fileNameWithoutExtension = inputFileName.replaceFirst("[.][^.]+$", "");
String translatedDocumentUri = outputPrefix + fileNameWithoutExtension + "_" + targetLanguage + "_translations." + fileExtension;
log.info("translated document Uri {}", translatedDocumentUri);
BlobId blobId = BlobId.of(translationBucketName, fileNameWithoutExtension + "_" + targetLanguage + "_translations." + fileExtension);
BlobInfo blobInfo = BlobInfo.newBuilder(blobId).setContentType("application/pdf").build();
URL signedUrl = storage.signUrl(blobInfo, signedUrlExpiryTimeInMinutes, TimeUnit.MINUTES,
Storage.SignUrlOption.withV4Signature());

log.info("Translated document signed URL: " + signedUrl);
return Utilities.sendHttpResponse(HttpStatus.OK, Constants.SUCCESS, signedUrl.toString());

PS: Если я вручную захожу в хранилище Google, я нахожу там переведенный файл.
Редактировать 1:
Моя ошибка:
Позже я обнаружил, что эта ошибка возникла из-за небольшой ошибки в подписанном URL-адресе, т. е. он не ссылался на файл, и ошибка была генерируется из-за отсутствия файла.
Постановка проблемы (измененная):
Файл, загруженный после перевода, имеет ContentType или MimeType как application/octet-stream, но мне нужен application/pdf.
Как я могу исправьте это, так как следующие изменения не работают
String outputPrefix = "gs://we-aid-translation/";
DocumentOutputConfig outputConfig = DocumentOutputConfig.newBuilder().setGcsDestination(GcsDestination.newBuilder().setOutputUriPrefix(outputPrefix).build()).setMimeType("application/pdf").build();

и
BlobInfo.newBuilder(blobId).setContentType("application/pdf").build();enter code here


Подробнее здесь: https://stackoverflow.com/questions/791 ... ervice-cli
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»