1

Codename One を使用して、それぞれの API を使用して Vimeo に動画をアップロードしています。実際にファイルをアップロードするためにマルチパート リクエストを使用していますが、アップロード ステータスを確認するにはレスポンスが必要です。どうすれば応答を得ることができますか?

public void doFileUpload(String url, String filename) throws IOException {
    MultipartRequest req = new MultipartRequest() {
        int chr;
        StringBuffer sb = new StringBuffer();
        public String response = "";

        public void readResponse(InputStream input) throws IOException {
            response = Util.readToString(input);

            Log.p("File Response->" + response);
        }

        protected void handleErrorResponseCode(int code, String message)
        {
            Log.p("Error Response->" + message);
        }

        protected void readHeaders(Object connection) throws IOException {
            String val = getHeader(connection, "MyHeaderName");
            Log.p("Header Response->" + val);

        }

        protected void handleException(Exception err) {
            Dialog.show(
                    "Connection Err!!",
                    "Are you connected to the internet? Check your connection",
                    "Ok", null);
        }
    };
    req.setUrl(url);
    req.setPost(true);

    String mime = "application/mp4";
    req.addData("file_data", filename, mime);
    req.setFilename("file_data", filename);
    req.setReadResponseForErrors(true);
    req.addResponseCodeListener(new ActionListener() {

        public void actionPerformed(ActionEvent ev) {
            try {
                NetworkEvent event = (NetworkEvent) ev;
                Log.p("Err Rsp Code->" + event.getResponseCode());
                Log.p("ResponseCodeListener:");
                Log.p(ev.toString() );
4

2 に答える 2

0

バイト配列バージョンではデバイスのメモリを超える可能性があるため (たとえば、より大きなビデオまたはメモリの少ないデバイスの場合)、バイト配列ではなくファイル URL を受け入れる addData メソッドを使用することをお勧めします。

他の接続要求と同じように、応答を読み取ることができます。

  1. 接続リクエストを導出してオーバーライドします。protected void readResponse(InputStream input)
  2. addResponseListenerリスナーをユーザーの応答にバインドするために使用します。
  3. アップロードが完了したことを検出するために使用し、バイト配列データを取得するためにaddToQueueAndWait呼び出します。getResponseData()
于 2014-05-25T04:37:56.283 に答える
0

私は同じ問題を抱えていました!バックエンドでは、私は を使用していますSpring boot。私のアップロード コントローラーは、@Controllerに変更されたときに単に としてタグ付けされました。正常に動作し、応答を JSON として処理するコールバック@RestControllerを取得しました。readResponse(InputStream input)

于 2020-05-06T05:50:23.267 に答える