服务器http post上传一个txt文件到服务器,Android 通过httppost上传文本文件到服务器。...

/**

* 往服务器上上传文本 比如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 = *; //超时时间

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);

// 取得文件的FileInputStream

FileInputStream fStream = new FileInputStream(uploadFile);

/* 设置每次写入1024bytes */

int bufferSize = ;

byte[] buffer = new byte[bufferSize];

int length = -;

/* 从文件读取数据至缓冲区 */

while ((length = fStream.read(buffer)) != -) {

/* 将资料写入DataOutputStream中 */

ds.write(buffer, , 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()) != -) {

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() {

@Override

public 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 -- 图片异步上传到PHP服务器

背景                                                                                           网上很多上传到 ...

Android上传文件至服务器(上)

每一次都不能上首页,真悲催..管理员让我上一次首页? 很多时候我更愿意一个人写代码,与其在垃圾代码上改改改,我更愿意直接重构. 整洁的代码简单直接.整洁的代码如同优美的散文.整洁的代码从不隐藏设计者的 ...

android上传文件到服务器

package com.spring.sky.image.upload.network; import java.io.DataOutputStream; import java.io.File; i ...

Android端通过HttpURLConnection上传文件到服务器

Android端通过HttpURLConnection上传文件到服务器 一:实现原理 最近在做Android客户端的应用开发,涉及到要把图片上传到后台服务器中,自己选择了做Spring3 MVC HT ...

android -上传文件到服务器

android上传文件到服务器       重点:最好是设置好content-type这些参数的配置!     package com.spring.sky.image.upload.network; ...

【经验记录】Android上传文件到服务器

Android中实现上传文件,其实是很简单的,和在java里面是一样的,基本上都是熟悉操作输出流和输入流!还有一个特别重要的就是需要配置content-type的一些参数!如果这些都弄好了,上传就很简 ...

Android上传文件到服务器(转)

Android中实现上传文件,其实是很简单的,和在java里面是一样的,基本上都是熟悉操作输出流和输入流!还有一个特别重要的就是需要配置content-type的一些参数!如果这些都弄好了,上传就很简 ...

利用WCF与Android实现图片上传并传参

利用WCF与Android实现图片上传并传参 最近做一个项目后端使用WCF接收Android手机拍照并带其它参数保存到服务器里:刚好把最近学习的WCF利用上,本以为是个比较简单的功能应该很好实现,没想 ...

Java基础知识强化之网络编程笔记14:TCP之多个客户端上传到一个服务器的思考(多线程改进)

1. 多个客户端上传到一个服务器的思考 通过while循环可以改进一个服务器接收多个客户端. 但是这个是有问题的.如果是这种情况,假设我还有张三,李四,王五这三个人分别执行客户端  张三:好好学习.a ...

随机推荐

零配置简单搭建SpringMVC 项目

SpringMVC是比较常用的JavaWeb框架,非常轻便强悍,能简化Web开发,大大提高开发效率,在各种Web程序中广泛应用.本文采用Java Config的方式搭建SpringMVC项目,并对Sp ...

vue单页面程序

gitHub地址:https://github.com/lily1010/vue_singlePage 举个栗子:

nyoj 613 免费馅饼 广搜

免费馅饼 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy ...

vsftpd2.3.2安装、配置详解

一.vsftpd 简介     Vsftpd是一个基于GPL发布的类UNIX系统的ftp服务器软件.其全称是Very Secure FTP Deamon,在安全性.速度和稳定性都有着不俗的表现.在安全 ...

Linux中加入用户、删除用户时新手可能遇到的问题

Linux中加入用户.删除用户时新手可能遇到的问题  1.创建新用户后切换到新用户:No directory, logging in with HOME=/     加入用户     #sudo us ...

object detection[YOLOv2]

接着扯YOLO v2 相比较于YOLO v1,作者在之前模型上,先修修补补了一番,提出了YOLO v2模型.并基于imagenet的分类数据集和coco的对象检测数据集,提出了wordnet模型,并成 ...

sshd服务分析

00.阐述 sshd 服务 基本上,所有的 ssh 相关设定都放在 /etc/ssh/sshd_config 里面!不过,每个 Linux distribution 的预设设定都不太相同, 所以我们有 ...

[翻译]第一天 - 在 Windows 下安装和运行 .NET Core

原文: http://michaelcrump.net/getting-started-with-aspnetcore/ 免责声明:我不是 .NET Core 开发团队的一员,并且使用的是公开.可用的 ...

css学习之LInk & import

一.用link加载外部样式表 1.放置位置:放在head元素中 2.样式表中只能包含样式规则,不能包含其他标记语言.如出现了标记,会导致其中一部分或全部被忽略. 3.type = 'text/css' ...

MT【156】特例$a_n=\dfrac{6}{\pi n^2}$

设无穷非负数列$\{a_n\}$满足$a_n+a_{n+2}\ge2 a_{n+1},\sum\limits_{i=1}^{n}{a_i}\le1$,证明:$0\le a_n-a_{n+1}\le\d ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值