首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Uploadcare:使用Java Library将文件从Uploadcare存储复制到亚马逊网络服务S3存储桶时遇到问题

Uploadcare:使用Java Library将文件从Uploadcare存储复制到亚马逊网络服务S3存储桶时遇到问题
EN

Stack Overflow用户
提问于 2015-02-28 07:40:31
回答 1查看 242关注 0票数 0

我是Uploadcare的新手。我正在尝试从Uploadcare中检索一个文件UUID,然后使用该UUID将图像复制到我的S3存储桶中。我正在使用git-hub:here上提供的Uploadcare API。

代码非常容易实现。这就是我所拥有的:

代码语言:javascript
复制
package javaapplication2;

import com.uploadcare.api.Client;
import com.uploadcare.data.CopyFileData;
public class UploadAPITest {

public static void main(String[] args) {

    Client client = new Client("mypublicKey", "myprivateKey");
    CopyFileData copyFile = client.copyFile("d5e97aca-f6d9-47ea-8c76-1fe36d093b2d", "messagePicUploadCenter");
    System.out.println("result: " + copyFile.result);
}

这段代码编译时没有任何问题。然而,当我运行它时,我看到的错误是:

代码语言:javascript
复制
enterException in thread "main" 
com.uploadcare.exceptions.UploadcareNetworkException: Network failure!
at com.uploadcare.api.RequestHelper.executeQuery(RequestHelper.java:108)
at com.uploadcare.api.Client.copyFile(Client.java:221)
at javaapplication2.UploadAPITest.main(UploadAPITest.java:25)

Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not instantiate value of type [simple type, class com.uploadcare.data.FileData] from String value; no single-String constructor/factory method (through reference chain: com.uploadcare.data.CopyFileData["result"])
at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator._createFromStringFallbacks(StdValueInstantiator.java:422)
at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromString(StdValueInstantiator.java:298)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromString(BeanDeserializer.java:424)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:129)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375)
at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:107)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:308)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2796)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1942)
at com.uploadcare.api.RequestHelper.executeQuery(RequestHelper.java:106)
... 2 more

Java结果:1

但是,在出现错误之前,我确实收到来自Uploadcare的响应:{"type":"url","result":"s3://photopatch-upload/messageImgs/d5e97aca-f6d9-47ea-8c76-1fe36d093b2d/uniqueness.jpg"}

所以我知道我已经正确地连接了Uploadcare,因为镜像实际上是被复制的。但是在复制之后,返回的JSON可能是畸形的或其他东西(我猜在这里)。

还有没有人有这个问题,或者给我一些建议?我真的很感激。我喜欢这项服务,我认为这个问题更多地与com.faster.jackson.databind库有关。下面是我在这个简单项目中使用的库的图片:http://s3.postimg.org/n37i2ts5f/image.png

EN

回答 1

Stack Overflow用户

发布于 2015-03-01 04:09:13

尝试使用

System.out.println("result: " + copyFile);

例如,copyFile而不是copyFile.result,后者是一个没有toString()方法的FileData实例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28776196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档