国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 通過httppost上傳文本文件到服務器的實例代碼

2019-12-12 05:49:09
字體:
來源:轉載
供稿:網友

廢話不多說了,直接給大家貼關鍵代碼了。

/*** 往服務器上上傳文本 比如log日志* @param urlstr 請求的url * @param uploadFile log日志的路徑 * /mnt/shell/emulated/0/LOG/LOG.log * @param newName log日志的名字 LOG.log* @return*/public static void httpPost(Activity activity,String urlstr,String uploadFile,String newName) {LogUtil.info("getEhttpPostt", "urlstr="+urlstr+";uploadFile="+uploadFile+";newName="+newName,"i");String end = "/r/n";String twoHyphens = "--";String boundary = "*****";//邊界標識 int TIME_OUT = 10*1000; //超時時間HttpURLConnection con = null; DataOutputStream ds = null; InputStream is = null;try {URL url = new URL(urlstr);con = (HttpURLConnection) url.openConnection();con.setReadTimeout(TIME_OUT);con.setConnectTimeout(TIME_OUT);/* 允許Input、Output,不使用Cache */con.setDoInput(true);con.setDoOutput(true);con.setUseCaches(false);// 設置http連接屬性con.setRequestMethod("POST");//請求方式con.setRequestProperty("Connection", "Keep-Alive");//在一次TCP連接中可以持續發送多份數據而不會斷開連接con.setRequestProperty("Charset", "UTF-8");//設置編碼con.setRequestProperty("Content-Type",//multipart/form-data能上傳文件的編碼格式"multipart/form-data;boundary=" + boundary);ds = new DataOutputStream(con.getOutputStream());ds.writeBytes(twoHyphens + boundary + end);ds.writeBytes("Content-Disposition: form-data; "+ "name=/"stblog/";filename=/"" + newName + "/"" + end);ds.writeBytes(end);// 取得文件的FileInputStreamFileInputStream fStream = new FileInputStream(uploadFile);/* 設置每次寫入1024bytes */int bufferSize = 1024;byte[] buffer = new byte[bufferSize];int length = -1;/* 從文件讀取數據至緩沖區 */while ((length = fStream.read(buffer)) != -1) {/* 將資料寫入DataOutputStream中 */ds.write(buffer, 0, length);}ds.writeBytes(end);ds.writeBytes(twoHyphens + boundary + twoHyphens + end);//結束fStream.close();ds.flush();/* 取得Response內容 */is = con.getInputStream();int ch;StringBuffer b = new StringBuffer();while ((ch = is.read()) != -1) {b.append((char) ch);}/* 將Response顯示于Dialog */showDialog(activity,true,uploadFile,"上傳成功" + b.toString().trim());} catch (Exception e) {showDialog(activity,false,uploadFile,"上傳失敗" + e);}finally {/* 關閉DataOutputStream */if(ds!=null){try {ds.close();} catch (IOException e) {e.printStackTrace();}}if (is != null) {try {is.close();} catch (IOException e) {e.printStackTrace();}}if (con != null) {con.disconnect();}}}/* 顯示Dialog的method */private static void showDialog(final Activity activity,final Boolean isSuccess,final String uploadFile,final String mess) {activity.runOnUiThread(new Runnable() {@Overridepublic void run() {new AlertDialog.Builder(activity).setTitle("Message").setMessage(mess).setNegativeButton("確定", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {File file = new File(uploadFile);if(file.exists()&&isSuccess){//日志文件存在且上傳日志成功file.delete();Toast.makeText(activity, "log日志已刪除", Toast.LENGTH_SHORT).show();}}}).show();}});}

以上內容是小編給大家介紹的Android 通過httppost上傳文本文件到服務器的實例代碼,代碼簡單易懂,附有注釋,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江达县| 桦川县| 德化县| 齐齐哈尔市| 施秉县| 湘西| 长阳| 金山区| 桂平市| 瓦房店市| 宝兴县| 拉孜县| 株洲县| 宜阳县| 龙口市| 托克逊县| 息烽县| 定州市| 康定县| 金坛市| 岑巩县| 姚安县| 昌图县| 梁山县| 剑阁县| 竹北市| 孝昌县| 平江县| 永新县| 公安县| 广东省| 镇雄县| 龙门县| 开化县| 耒阳市| 柘荣县| 西林县| 金乡县| 子长县| 康保县| 育儿|