簡體   English   中英

將長base64字符串發送到服務器的最佳方法

[英]Best way to send a long base64 string to server

我正在服務器中發送base64編碼的圖像。 我曾經將其存儲在一個變量中,該變量將發送給服務器,但是服務器給我的響應狀態為503或花費時間。 發送長字符串或壓縮內容值以發送到服務器的最佳方法是什么?

第一步:將圖像轉換為Base64字符串

byte[] bytes = new byte[(int)file.length()];
    FileInputStream fileInputStreamReader = getFileStream();
    fileInputStreamReader.read(bytes);
    return new String(Base64.encodeToString(bytes, Base64.DEFAULT));

第二步發送請求

Base64UploadRequest request = new Base64UploadRequest(this, uploadId,  ApiConfig.UPLOAD_HOST + "/raw");
        request.addHeader("Connection", "keep-alive");
        request.addHeader("Keep-Alive", "timeout=600, max=100");
        request.addHeader("Content-Type", "application/x-www-form-urlencoded");
        request.addParameter("source", base64String());
        request.addParameter("extension", extension);
        request.setNotificationConfig(getNotificationConfig("Envoie des photos"));
        request.setMaxRetries(3);
        request.startUpload();

但是當base64字符串太長時,服務器會花費一些時間

get_client_block(102400) failed
Internal error on sending request(POST //raw HTTP/1.1); uri(/public/index.php?/raw) content-length(361157): SendRequest: prepare(): user_get_body(bodyLocalBuf, 102400): read from client failed

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM