如何解决使用WP_Http_Curl的IBM Document Translator我收到诸如Error:415 Unsupported Media Type之类的错误消息
$filename = ABSPATH.'wp-content/uploads/sample.txt';
$filetype = wp_check_filetype('sample.txt');
$file = @fopen( $filename,'r' );
$file_size = filesize( $filename );
$file_data = fread( $file,$file_size );
$postBody = array(
'file' => $file_data,'file_content_type'=>'text/plain','filename'=>'sample.txt','model_id'=>'en-fr'
);
$response=wp_remote_request(
'https://api.jp-tok.language-translator.watson.cloud.ibm.com/instances/9ccfc671-1c75-40b6-ad45-b46ae4b53979/v3/documents?version=2018-05-01',array(
'method' => 'POST',"body" => $postBody,"headers" => array(
'Authorization' => 'Basic ' . $auth,'Content-Type'=>'text/plain','Accept'=>'text/plain',)
)
);
print_r($response);
它提供415不支持的媒体类型, 我为文件提供了正确的Content-Type。 我的文件名为sample.txt,因此我将 Content-Type 添加为文本/纯文本 如何解决这个问题。
解决方法
当您通过word-press插件调用服务时,我认为您只能使用cURL的API文档所定义的用法-https://cloud.ibm.com/apidocs/language-translator#translatedocument
API文档建议,在您的情况下,请求正文仅需要文件正文和翻译信息。
$postBody = array(
'file' => $file_data,'model_id'=>'en-fr'
);
,您无需指定Content-Type
或Accept
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。