Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图通过内容内容管理API JAVA将图像上载到_Java_Rest_Base64_Contentful_Contentful Management - Fatal编程技术网

试图通过内容内容管理API JAVA将图像上载到

试图通过内容内容管理API JAVA将图像上载到,java,rest,base64,contentful,contentful-management,Java,Rest,Base64,Contentful,Contentful Management,我正在尝试通过内容管理API上传图像。我想要实现的是:将图像上传到预定义的图像内容模型,然后通过内容交付API获取url——基本上我希望使用Contentful作为自己的图像服务器存储 是否有任何方法可以将映像作为base64字符串/字节数组发送?CMA期望的媒体对象类型对我来说不是很清楚,我尝试过以字节数组的形式发送图像,但它抱怨“链接必须是对象而不是数组”。以下是我到目前为止的情况: 公共静态void createImageEntity(字节[]imageAsBase64,字符串名称){ 您

我正在尝试通过内容管理API上传图像。我想要实现的是:将图像上传到预定义的图像内容模型,然后通过内容交付API获取url——基本上我希望使用Contentful作为自己的图像服务器存储

是否有任何方法可以将映像作为base64字符串/字节数组发送?CMA期望的媒体对象类型对我来说不是很清楚,我尝试过以字节数组的形式发送图像,但它抱怨“链接必须是对象而不是数组”。以下是我到目前为止的情况:

公共静态void createImageEntity(字节[]imageAsBase64,字符串名称){


您不能像这里所做的那样将字段直接设置为字节数组。您首先需要将二进制文件上载到Contentful,然后将其包装到资源中,然后从输入字段引用该资源

在Java中,基本上可以创建如下上载:

final CMAUpload upload =
client
    .uploads()
    .create("<space_id>",
        // this stream should point to your file to be uploaded.
        new FileInputStream("your file")
    );
最终CMA上传=
客户
.uploads()
.创建(“,
//此流应指向要上载的文件。
新文件输入流(“您的文件”)
);

请注意,像这样上传二进制文件仍然是一项相当新的功能,并在beta版中考虑。您可以在这篇博文中了解更多信息:

我已经了解了这一点,但似乎没有任何上传()在我的CMA客户端上,即使我有来自mvnrepository的最新版本。你知道我在哪里可以找到吗?可能是Java SDK在最新的稳定版本中还不支持它。我知道它即将到来。另一种选择是将你的二进制文件上传到某个地方,比如dropbox,然后使用标准的uploadUrl字段。毕竟我用dropbox api做了我想要的事情:)谢谢你的提示!
final CMAUpload upload =
client
    .uploads()
    .create("<space_id>",
        // this stream should point to your file to be uploaded.
        new FileInputStream("your file")
    );