0

こんにちは、ファイルを表示、削除、アップロードできるベイファイル用の Android アプリに取り組んでいます。Json APIを使用してファイルをサーバーにアップロードするためのAPIがありますが、その方法はわかります。ドキュメントの内容:

/file/uploadUrl

{ エラー: ""、uploadUrl: 、progressUrl: }

返された URL は限られた時間有効です。アップロードごとに新しい URL をリクエストする必要があります。「uploadUrl」に POST リクエストを発行してファイルをアップロードします。「progressUrl」をポーリングして、現在の進行状況を取得できます。POST リクエストは multipart/form-data でエンコードされ、「file」フィールドが含まれている必要があります。cUrl の例: curl -F "file=@somefile.rar" " http://s6.baycdn.com/upload/93b37e57/4e691e0c/6/0?X-Progress-ID=4e639fcd34CC2F73796CF81679C605643A8F99CF " 注:ファイルをアカウントに追加するには、最初に /account/login を使用してログインし、次に ?session=XYZ を /file/uploadUrl に追加する必要があります。成功すると、「uploadUrl」は次のオブジェクトで応答します: { error: "", fileId: ,サイズ: 、sha1: 、infoToken: 、deleteToken: 、linksUrl: 、

Androidを使用してこれを行う方法を理解できません。どんな助けでも大歓迎です!

4

1 に答える 1

2

このコードを使用してファイルをアップロードできます

private void uploadVideo(String yourfilepath) throws ParseException, IOException {

                HttpClient httpclient = new DefaultHttpClient();

                //post request to send the video 
                HttpPost httppost = new HttpPost("your link to uploadd");
                StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
                StrictMode.setThreadPolicy( policy);
                FileBody video_file1 = new FileBody(new File(videoPath));
                MultipartEntity reqEntity = new MultipartEntity();
                reqEntity.addPart("your argument that your server take", video_file1);                    
                httppost.setEntity(reqEntity);

                // DEBUG
                System.out.println( "executing request " + httppost.getRequestLine( ) );
                HttpResponse response = httpclient.execute( httppost );
                HttpEntity resEntity = response.getEntity( );

                // DEBUG
                System.out.println( response.getStatusLine( ) );
                if (resEntity != null) {
                  System.out.println( EntityUtils.toString( resEntity ) );
                } // end if
                if (resEntity != null) {
                  resEntity.consumeContent( );
                } // end if

                httpclient.getConnectionManager( ).shutdown( );
            } 
于 2013-10-09T12:13:29.213 に答える