亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

圖片上傳 - Android上傳圖片到Java服務端出現的問題

瀏覽:124日期:2023-11-12 13:37:01

問題描述

我在Android端上傳圖片的時候URL如果使用的內網IP,用內部網絡上傳圖片的時候是沒有問題的,但是如果我Android端URL使用外網IP的話,只能使用公司內部網絡才能正確上傳,用自己流量或其他外部網絡只能上傳幾十k的圖片,上傳大一點的就上傳不了。之前覺得可能是外網有什么限制,但是今天在家通過服務端的測試頁面(如下圖)上傳圖片,也成功了,所以感覺外網應該也沒有什么限制,實在不知道是什么原因了,有大神知道嗎?急求答案,謝謝!試過用Socket上傳,也是一樣的情況,會出現一樣的問題。

圖片上傳 - Android上傳圖片到Java服務端出現的問題

Android端代碼:

public class HttpUpLoadImageUtil { static String BOUNDARY = java.util.UUID.randomUUID().toString(); static String PREFIX = '--', LINEND = 'rn'; static String MULTIPART_FROM_DATA = 'multipart/form-data'; static String CHARSET = 'UTF-8'; public static void doPostPicture(String urlStr, Map<String,Object> paramMap, File pictureFile ) throws Exception{URL url = new URL(urlStr);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setDoInput(true);// 允許輸入conn.setDoOutput(true);// 允許輸出conn.setUseCaches(false);conn.setReadTimeout(10 * 1000); // 緩存的最長時間conn.setRequestMethod('POST');conn.setRequestProperty('Charset', 'UTF-8');conn.setRequestProperty('Connection', 'Keep-Alive');conn.setRequestProperty('Content-Type', MULTIPART_FROM_DATA + ';boundary=' + BOUNDARY);DataOutputStream os = new DataOutputStream(conn.getOutputStream());StringBuilder sb = new StringBuilder(); //用StringBuilder拼接報文,用于上傳圖片數據sb.append(PREFIX);sb.append(BOUNDARY);sb.append(LINEND);sb.append('Content-Disposition: form-data; name='file'; filename='' + pictureFile.getName() + ''' + LINEND);sb.append('Content-Type: image/jpg; charset=' + CHARSET + LINEND);sb.append(LINEND);os.write(sb.toString().getBytes());InputStream is = new FileInputStream(pictureFile);byte[] buffer = new byte[1024];int len = 0;while ((len = is.read(buffer)) != -1) { os.write(buffer, 0, len); //寫入圖片數據}is.close();os.write(LINEND.getBytes());StringBuilder text = new StringBuilder();for(Map.Entry<String,Object> entry : paramMap.entrySet()) { //在for循環中拼接報文,上傳文本數據 text.append('--'); text.append(BOUNDARY); text.append('rn'); text.append('Content-Disposition: form-data; name=''+ entry.getKey() + ''rnrn'); text.append(entry.getValue()); text.append('rn');}os.write(text.toString().getBytes('utf-8')); //寫入文本數據// 請求結束標志byte[] end_data = (PREFIX + BOUNDARY + PREFIX + LINEND).getBytes();os.write(end_data);os.flush();os.close();// 得到響應碼int res = conn.getResponseCode();System.out.println('asdf code '+ res);System.out.println('asdf ' + conn.getResponseMessage());conn.disconnect(); }}

問題解答

回答1:

能成功的話代碼出問題的可能性是不大的,如果要是出錯了至少需要得到錯誤信息才能排查。

標簽: java
相關文章:
主站蜘蛛池模板: 欧美在线一区二区三区不卡 | 国产精品国产色综合色 | 国产男女交性视频播放 | 一级黄色大片免费观看 | 国产尻逼视频 | 在线亚洲国产精品区 | 2017天天天天做夜夜夜做 | 谁有毛片网址 | 久久中文字幕网站篠田优 | 欧美一级视频在线高清观看 | 国产高清精品一级毛片 | 欧美叼嘿| 国产成人在线播放视频 | 日韩免费视频 | 一级黄片一级毛片 | 欧美亚洲国产精品久久第一页 | 久久综合九色综合欧洲色 | 伊人第四色 | 国产成人精品一区二区仙踪林 | 精品一区亚洲 | 久久99青青久久99久久 | 久久www免费人成_看片高清 | 国产在线视频网站 | 欧美国产在线视频 | 久香草视频在线观看免费 | 麻豆91国语视频 | 鲁丝片一区二区三区 | 亚洲人成人网毛片在线播放 | 久久国产免费福利资源网站 | 午夜性刺激免费视频 | 免费观看一级特黄欧美大片 | 2021精品国夜夜天天拍拍 | 久久99精品久久久 | 啪啪激情网 | 青青草国产免费国产 | 欧美一级黄色录像 | 成人高清视频在线观看大全 | 国产特级毛片 | 久久99精品一久久久久久 | 精品国产一区二区三区不卡在线 | 免费一级欧美在线观看视频片 |