簡體   English   中英

Uploadcare:使用Java庫將文件從Uploadcare存儲復制到AWS S3存儲桶時遇到問題

[英]Uploadcare: Having trouble using Java Library to copy files from Uploadcare storage to AWS S3 bucket

我對Uploadcare非常陌生。 我正在嘗試從Uploadcare檢索文件UUID,然后使用該UUID將映像復制到我的S3存儲桶中。 我正在使用git-hub上提供的Uploadcare API: 此處

該代碼非常易於實現。 這是我所擁有的:

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”,“ 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

嘗試使用

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM