Matlab:使用webwrite通过简单的REST API发送图像

时间:2015-09-27 19:00:26

标签: matlab rest

我正试图通过网站进行图像分类 使用curl检索令牌没有问题:

curl -i -X POST -H "Authorization:MY Key" -F "image_request[image]=@/path/to/myimage" -F "image_request[locale]=en-US" https://api.cloudsightapi.com/image_requests

但是,当我尝试使用webwrite时它没有成功,它返回“HTTP 400”错误。

option=weboptions('KeyName','Authorization','KeyValue','mykey')
fid = fopen('/path/to/myimage');
img = fread(fid,Inf,'*uint8');
fclose(fid);
response=webwrite('https://api.cloudsightapi.com/image_requests',...
  'image_request[image]',img,...
  'image_request[locale]','en-US',option); 

我想是因为这种格式的函数webwrite不支持“multipart / form-data”,我需要更改媒体类型。然后我尝试将数据作为JSON对象发送

option=weboptions('KeyName','Authorization','KeyValue','mykey','MediaType','application/json')
data=struct('image_request[image]',im,'image_request[locale]','en-US');
response=webwrite('https://api.cloudsightapi.com/image_requests',data,option)

但是Matlab结构中的字段名称不允许“[”。 有什么建议吗?

0 个答案:

没有答案