0
我正在創建一個android庫,並使用儀器test.And我使用Android Studio 3.0進行單元測試。Android Retrofit 2.0使用圖像,視頻和音頻上傳與MultipartBody.Par方法
這是我的代碼(控制器類)
File file = new File("/storage/emulated/0/DCIM/Facebook/FB_IMG_1496146656900.jpg");
RequestBody reqFile = RequestBody.create(MediaType.parse("image/jpeg"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), reqFile);
RequestBody name = RequestBody.create(MediaType.parse("text/plain"), noteId);
String notebookId = getNotebookId(projectId);
if (isSessionAvailable(notebookId)) {
String session = getNotebookSession(notebookId);
Call<ResponseBody> call = mApiNotes.requestNotesAttachments(session, name, body);
call.enqueue(new NoteAttachmentCallBacks.AddNoteAttachmentCallback(assetUploadCallbacks));
}
而且更新接口是
@Multipart
@POST("/NotebookAsset")
Call<ResponseBody> requestNotesAttachments(@Header("Cookie") String notebookSession, @Part("note_id") RequestBody noteId, @Part MultipartBody.Part image);
但是當我運行的代碼,這是行不通的。呼叫改造接口類後,測試只是瀏覽,甚至沒有結束。它不斷運行測試,但永遠不會結束。看起來資產沒有上傳。
大致我認爲,
有權限訪問設備中的資源的問題。所以我添加了清單文件的權限。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
但它不是解決方案。結果是一樣的。
你可以看看這個問題嗎?我已經完全封鎖了這個問題。