时间:2021-05-21
废话不多说了,直接给大家贴关键代码了。
/*** 往服务器上上传文本 比如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);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);int bufferSize = 1024;byte[] buffer = new byte[bufferSize];int length = -1;while ((length = fStream.read(buffer)) != -1) {ds.write(buffer, 0, length);}ds.writeBytes(end);ds.writeBytes(twoHyphens + boundary + twoHyphens + end);//结束fStream.close();ds.flush();is = con.getInputStream();int ch;StringBuffer b = new StringBuffer();while ((ch = is.read()) != -1) {b.append((char) ch);}showDialog(activity,true,uploadFile,"上传成功" + b.toString().trim());} catch (Exception e) {showDialog(activity,false,uploadFile,"上传失败" + e);}finally {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();}}}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上传文本文件到服务器的实例代码,代码简单易懂,附有注释,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了android通过servlet上传文件到服务器的具体代码,供大家参考,具体内容如下服务器端:部署在Tomcat上,直接在myEclipse
详解Linux文本文件与WIN文本文件换行格式转换命令前言:有时在WIN下编辑好的脚本文件上传到LINUX服务器中不能正常执行,开始误认为是LINUX配置问题,
如何用php直接调用文本文件内容:首先通过file函数打开服务器上的一个文本文件,返回的$myFile就将成为这个文件操作的句柄,然后再通过循环指令,取出文
如果点击“保存文本文件”将会弹出保存文本文件的对话框口,保存的文本文件中的内容是如下:/*2010年4月5日0:34:53用户:服务器:LONGGEL数据库:l
本文实例讲述了Android使用httpPost向服务器发送请求的方法。分享给大家供大家参考,具体如下:importjava.util.List;importo