0

これは、Errai Jax-RS 経由で画像データを送信するための私のコードです。

    Model model = new Model();
    GWT.log("Before setting byte array");
    model.setImage(Base64.base64ToByteArray(base64)); 
    GWT.log("After setting byte array");
    modelService.call(new RemoteCallback<String>() {
        @Override
        public void callback(String hash) {
            GWT.log("Model upload with hash - " + hash);
        }
    }, new ErrorCallback() {
        @Override
        public boolean error(Message message, Throwable throwable) {
            showErrorModal();
            return false;
        }
    }).createModel(model);

ログには、クライアント (ブラウザー) が中断またはハングする前に、「バイト配列の設定後」がログに記録されていることが示されています。したがって、問題はサービスコールにあるようです。このように base64 データを送信するのは間違っていますか? テスト データは、約 350K バイトのサイズで送信されます。

4

1 に答える 1

1

バイト配列ではなく文字列で画像を送信します。

したがって、モデルの画像属性を文字列に変更し、画像を処理する必要がある場合は、サーバー側で base64 文字列からバイト配列に変換します。

于 2013-09-14T09:10:58.940 に答える