當前位置:首頁 » 文件傳輸 » okhttp上傳圖片
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

okhttp上傳圖片

發布時間: 2022-01-18 01:29:21

A. android okhttp3.0文件上傳是用什麼方式上傳的

手機與電腦連接打91助手點擊文件管理找存儲卡直接拷貝行

B. 「android okhttp」上傳文件的「mediatype」有哪些

1./**
* @param mediaType MediaType
* @param uploadUrl put請求地址
* @param localPath 本地文件路徑
* @return 響應的結果 和 HTTP status code
* @throws IOException
*/
public String put(MediaType mediaType, String uploadUrl, String localPath) throws IOException {
File file = new File(localPath);
RequestBody body = RequestBody.create(mediaType, file);
Request request = new Request.Builder()
.url(uploadUrl)
.put(body)
.build();
Response response = client.newCall(request).execute();
return response.code()+ ":" + response.body().string() ;
}


C. android 怎麼多圖上傳 okhttp

android上傳圖片是先將圖片文件轉換成流文件:可用以下代碼轉換流文件,imgPath為圖片的完整地址
//圖片轉化成base64字元串
public static String imgToBase64(String imgPath) {
InputStream in = null;
byte[] data = null;
//讀取圖片位元組數組
try {
in = new FileInputStream(imgPath);
data = new byte[in.available()];
in.read(data);
in.close();
}
catch (IOException e){
e.printStackTrace();
}
//對位元組數組Base64編碼
sun.misc.BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(data);//返回Base64編碼過的位元組數組字元串
}
然後圖片文件就成為一串字元串啦,傳遞方法和普通字元串一樣,多圖使用分號隔開即可,後台收到後直接將流文件轉換成圖片保存即可。

D. 如何使用OkHttp post傳遞文字和圖片

1、測試App在指定終端是否可正常安裝、卸載,定位錯誤原因 2、無需編寫腳本/自動遍歷/頁面截圖/記錄操作路徑 3、隨機性壓力測試、測試App運行期的穩定性 4、愛內測平台就是針對app兼容性問題進行測試的

E. okhttp最大支持上傳多大的文件

/**
* 上傳文件
* @param actionUrl 連接地址
* @param paramsMap 參數
* @param callback 回調
* @param <T>
*/
public static <T>void upLoadFile(String actionUrl, HashMap<String, Object> paramsMap, Callback callback) {

// RequestBody requestBody = new MultipartBuilder() //建立請求的內容
// .type(MultipartBuilder.FORM)//表單形式
// .addFormDataPart("token", token)//攜帶的參數
// .addFormDataPart("file", file.getName(), RequestBody.create(null, file))//第一個參數是伺服器接收的名稱,第二個是上傳文件的名字,第三個是上傳的文件
// .build();
// Request request = new Request.Builder()//建立請求
// .url(url)//請求的地址
// .post(requestBody)//請求的內容(上面建立的requestBody)
// .build();

try {
OkHttpClient okHttpClient = new OkHttpClient();
MultipartBuilder builder = new MultipartBuilder();
builder.type(MultipartBuilder.FORM);
//追加參數
for (String key : paramsMap.keySet()) {
Object object = paramsMap.get(key);
if (!(object instanceof File)) {
builder.addFormDataPart(key, object.toString());
} else {
File file = (File) object;
builder.addFormDataPart(key, file.getName(), RequestBody.create(null, file));
}
}
//創建RequestBody
RequestBody body = builder.build();
//創建Request
final Request request = new Request.Builder().url(actionUrl).post(body).build();
HLog.v("upLoadFile","upLoadFile",request.urlString());
Call call=okHttpClient.newCall(request);
call.enqueue(callback);
} catch (Exception e) {
Log.e(TAG, e.toString());
}
}

F. Android 使用OkhttpUtils上傳圖片

IMAGE_FILE_NAME這個確定是文件路徑么?
那個其他我看不出來,我上傳圖片用的都是Xutils,你可以搜搜試試。

G. android okhttp上傳文件mediatype有哪些

/**
* @param mediaType MediaType
* @param uploadUrl put請求地址
* @param localPath 本地文件路徑
* @return 響應的結果 和 HTTP status code
* @throws IOException
*/
public String put(MediaType mediaType, String uploadUrl, String localPath) throws IOException {
File file = new File(localPath);
RequestBody body = RequestBody.create(mediaType, file);
Request request = new Request.Builder()
.url(uploadUrl)
.put(body)
.build();
Response response = client.newCall(request).execute();
return response.code()+ ":" + response.body().string() ;
}

//上傳JPG圖片
public String putImg(String uploadUrl, String localPath) throws IOException {
MediaType Image = MediaType.parse("image/jpeg; charset=utf-8");

H. okhttp 上傳文件socket關閉怎麼解決

使用okhttp上傳文件時,每次上傳超過5M的文件就會失敗, java.net.SocketException: sendto failed: EPIPE (Broken pipe)

原因是okhttp的請求頭RequestBody出現了問題

原代碼:

RequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file", file.getName(), RequestBody.create(null, file))
.addFormDataPart("filekey", fileKey)
.addFormDataPart("isSend", "true")
.addPart(Headers.of("Content-Disposition", "form-data; name=\"another\";filename=" + file.getName() + "")

,RequestBody.create(MediaType.parse("application/octet-stream"), file))
.build();

改正後的代碼,刪除了addPart
RequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file", file.getName(), RequestBody.create(null, file))
.addFormDataPart("filekey", fileKey)
.addFormDataPart("isSend", "true")
.build();

I. okhttp3使用詳解get怎麼傳參數

kHttp 可以做很多事,包括上傳字元串、上傳文件、上傳流、上傳表格參數、上傳多部分的請求、響應 Json、響應緩存等。目前主要流行 Json 數據通信,所以我們就來講講基於 Json 通信的 GET 和 POST 請求與響應。
2 下載 OkHttp
介紹了這么多理論知識,接下來就進入實戰階段了,首先下載 OkHttp 的 jar 包,可以去 GitHub 下載最近的包。
這是最新下載地址:https://search.maven.org/remote_content?g=com.squareup.okhttp3&a=okhttp&v=LATEST
當然,你也可以在項目中直接添加編譯(用於 Android Studio):compile 'com.squareup.okhttp3:okhttp:3.2.0'
OkHttp 的項目地址:https://github.com/square/okhttp
除此之外,還需要添加一個 OkHttp 的依賴包:okio.jar,下載地址:https://search.maven.org/remote_content?g=com.squareup.okio&a=okio&v=LATEST
項目地址:https://github.com/square/okio
編譯地址:compile 'com.squareup.okio:okio:1.6.0'
3 GET 請求
我們從最簡單的 Http 請求開始學起,首先需要獲取一個 OkHttpClient 對象,方法如下:

[java] view plain print?