API de Phrase TMS

Type de données de fichier (TMS)

Le contenu est traduit de l’anglais par Phrase Language AI.

Le type de données d'un fichier est utilisé pour publier des données binaires dans divers appels API. Chaque appel API contenant au moins un argument de type file doit répondre aux exigences suivantes :

  • La méthode HTTP POST doit être utilisée.

  • Une requête multipart/form-data telle que décrite dans les spécifications HTML doit être formée.

Exemples

Java HttpClient

HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httpPost = new HttpPost(webServerUrl);
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, null, Charset.forName(\"UTF-8\"));
StringBody taskPart;
StringBody formatPart;
StringBody saveToTransMemoryPart;
StringBody setCompletedPart;
ByteArrayBody fileContentPart;
// ... remplir les variables avec des données ... //

reqEntity.addPart("task", taskPart);
reqEntity.addPart(\"format\", formatPart);
reqEntity.addPart("saveToTransMemory", saveToTransMemoryPart);
reqEntity.addPart(\"setCompleted\", setCompletedPart);
reqEntity.addPart("bilingualFile", fileContentPart);
httpPost.setEntity(reqEntity);

C++ Qt

QHttpMultiPart* multiPartData = new QHttpMultiPart( QHttpMultiPart::FormDataType );
QBuffer* buffer = new QBuffer( multiPartData );
buffer->open( QIODevice::WriteOnly );
// ... remplir le tampon avec des données ... //
writer.writeTo( buffer );
buffer->close();

QHttpPart filePart;
filePart.setHeader( QNetworkRequest::ContentTypeHeader, QVariant( "application/octet-stream" ) );
filePart.setHeader( QNetworkRequest::ContentDispositionHeader, QVariant( QString( \"form-data; name=\\\"bilingualFile\\\"; filename=\\\"\" ) + model->getFileInfos()[0].original + \"\\\"\" ) );
buffer->open( QIODevice::ReadOnly );
filePart.setBodyDevice( buffer );
multiPartData->append( filePart );
Cet article vous a-t-il été utile ?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.