0

私は Uploadcare を初めて使用します。Uploadcare からファイル UUID を取得し、その UUID を使用してイメージを S3 ストレージ バケットにコピーしようとしています。私は git-hub: here で利用可能な 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","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

4

1 に答える 1

1

使ってみて

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

つまりcopyFile、代わりに、メソッドを持たないcopyFile.resultのインスタンスです。FileDatatoString()

于 2015-02-28T20:09:13.070 に答える