我使用Webview向交換郵件服務器發送數據。 (http post不適用於附件較大的郵件,因此嘗試使用此方法)。android:將數據發佈到webview
請參閱下面的代碼。
如果我發送的數據根本沒有編碼,發送失敗。 如果我按照我的代碼進行編碼整個數據,它仍然失敗。
如果我嘗試評論的代碼,我將數據存儲爲名稱valuepairs並進行編碼,則收到郵件但沒有附件。那麼在這裏編碼的正確方法是什麼?附件的類型是ContentBody。所有其他參數都是字符串。
MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,);
entity.addPart("hidid", new StringBody(hidid));
entity.addPart("hidchk", new StringBody(hidchk));
entity.addPart("hidcanary", new StringBody(canary));
entity.addPart("attach", attachment);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
entity.writeTo(bytes);
String fullUrl = baseUrl + "?ae=Dialog&t=Attach&a=Add";
webView.postUrl(fullUrl, EncodingUtils.getBytes(bytes.toString(),"BASE64"));
/* List<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("hidid", hidid));
parameters.add(new BasicNameValuePair("hidchk", hidchk));
parameters.add(new BasicNameValuePair("hidcanary", canary));
parameters.add(new BasicNameValuePair("attach", attachment.toString()));
UrlEncodedFormEntity entity1 = new UrlEncodedFormEntity(parameters);
String fullUrl = baseUrl + "?ae=Dialog&t=Attach&a=Add";
webView.postUrl(fullUrl, EntityUtils.toByteArray(entity1)); */
我看到他的Android web視圖:: postUrl方法更難編碼的「application/X WWW的窗體-urlencoded」。
你在logcat中得到任何失敗消息嗎? –
是的,我得到的錯誤響應是:Outlook Web訪問無法處理請求 – png
嘗試將您的附件轉換爲base64中的註釋代碼 –