gpt4 book ai didi

java - Uploadcare:使用 Java 库将文件从 Uploadcare 存储复制到 AWS S3 存储桶时遇到问题

转载 作者:行者123 更新时间:2023-12-01 11:51:37 26 4
gpt4 key购买 nike

我对 Uploadcare 很陌生。我正在尝试从 Uploadcare 检索文件 UUID,然后使用该 UUID 将图像复制到我的 S3 存储桶。我正在使用 git-hub 上提供的 Uploadcare API:here .

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

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);
}

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

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","re​​sult":"s3://photopatch-upload/messageImgs/d5e97aca-f6d9-47ea-8c76-1fe36d093b2d/uniqueness.jpg"}

所以我知道我已经正确连接了 Uploadcare,因为该图像实际上是复制的。但在复制之后,返回的 JSON 可能格式错误或出现其他问题(我在这里猜测)。

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

最佳答案

尝试使用


System.out.println("结果:"+ copyFile);

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

关于java - Uploadcare:使用 Java 库将文件从 Uploadcare 存储复制到 AWS S3 存储桶时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28776196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com