<address id="jv157"></address>
<sub id="jv157"></sub>

      <address id="jv157"></address>

      <thead id="jv157"></thead>

        android 文件上传到服务器(封装)

        这里记载了我使用的文件上传工具包,方便开发的效率,非常好用。

        代码如下:


        import java.io.DataOutputStream;
        import java.io.File;
        import java.io.FileInputStream;
        import java.io.IOException;
        import java.io.InputStream;
        import java.net.HttpURLConnection;
        import java.net.MalformedURLException;
        import java.net.URL;
        import java.util.UUID;
        import android.os.Environment;
        import android.util.Log;
        
        
        public class UploadUtil {
        	private static final String TAG = "uploadFile";
        	private static final int TIME_OUT = 10 * 1000; // 超时时间
        	private static final String CHARSET = "utf-8"; // 设置编码
        
        
        	public static boolean initDownPath(String path){
        		if(Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)){
        			File file = new File(path);
        			if(!file.exists()){
        				//file.mkdirs();
        				return false;
        			}else{
        				return true;
        			}
        		}
        		return false;
        	}
        	/**
        	 * 上传文件到服务器
        	 * @param file 需要上传的文件
        	 * @param RequestURL 请求的url
        	 * @return 返回图片路径
        	 */
        	public static String uploadFile(File file, String RequestURL)throws IOException {
        		if(!file.exists()){
        			return null;
        		}
        		int res=0;
        		String result = null;
        		String BOUNDARY = UUID.randomUUID().toString(); // 边界标识 随机生成
        		String PREFIX = "--", LINE_END = "\r\n";
        		String CONTENT_TYPE = "multipart/form-data"; // 内容类型
        
        
        		try {
        			URL url = new URL(RequestURL);
        			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        			conn.setReadTimeout(TIME_OUT);
        			conn.setConnectTimeout(TIME_OUT);
        			conn.setDoInput(true); // 允许输入流
        			conn.setDoOutput(true); // 允许输出流
        			conn.setUseCaches(false); // 不允许使用缓存
        			conn.setRequestMethod("POST"); // 请求方式
        			conn.setRequestProperty("Charset", CHARSET); // 设置编码
        			conn.setRequestProperty("connection", "keep-alive");
        			conn.setRequestProperty("Content-Type", CONTENT_TYPE + ";boundary="+ BOUNDARY);
        
        
        			if (file != null) {
        				/**
        				 * 当文件不为空时执行上传
        				 */
        				DataOutputStream dos = new DataOutputStream(conn.getOutputStream());
        				StringBuffer sb = new StringBuffer();
        				sb.append(PREFIX);
        				sb.append(BOUNDARY);
        				sb.append(LINE_END);
        				/**
        				 * 这里重点注意: name里面的值为服务器端需要key 只有这个key 才可以得到对应的文件
        				 * filename是文件的名字,包含后缀名
        				 */
        
        
        				sb.append("Content-Disposition: form-data; name=\"file\"; filename=\""
        						+ file.getName() + "\"" + LINE_END);
        				sb.append("Content-Type: application/octet-stream; charset="
        						+ CHARSET + LINE_END);
        				sb.append(LINE_END);
        				dos.write(sb.toString().getBytes());
        				InputStream is = new FileInputStream(file);
        				byte[] bytes = new byte[1024];
        				int len = 0;
        				while ((len = is.read(bytes)) != -1) {
        					dos.write(bytes, 0, len);
        				}
        				is.close();
        				dos.write(LINE_END.getBytes());
        				byte[] end_data = (PREFIX + BOUNDARY + PREFIX + LINE_END)
        						.getBytes();
        				dos.write(end_data);
        				dos.flush();
        				/**
        				 * 获取响应码 200=成功 当响应成功,获取响应的流
        				 */
        				res = conn.getResponseCode();
        				Log.e(TAG, "response code:" + res);
        				if (res == 200) {
        					Log.e(TAG, "request success");
        					InputStream input = conn.getInputStream();
        					StringBuffer sb1 = new StringBuffer();
        					int ss;
        					while ((ss = input.read()) != -1) {
        						sb1.append((char) ss);
        					}
        					result = sb1.toString();
        					Log.e(TAG, "result : " + result);
        				} else {
        					Log.e(TAG, "request error");
        				}
        			}
        		} catch (MalformedURLException e) {
        			e.printStackTrace();
        		} 
        		return result;
        	}
        }
        相关文章
        相关标签/搜索
        2020年正版综合资料 南陵县| 麟游县| 乌拉特前旗| 手游| 张家港市| 通州区| 扎赉特旗| 桂东县| 上思县| 色达县| 南丹县| 普宁市| 霞浦县| 汽车| 广西| 宜兰县| 宣恩县| 南昌县| 舞阳县| 城固县| 米泉市| 浙江省| 石狮市| 息烽县| 鹤峰县| 庆阳市| 邵阳县| 望都县| 河南省| 德州市| 资讯| 兴义市| 连南| 沾化县| 赫章县| 高尔夫| 玛沁县| 吐鲁番市| 阳高县| 宁武县| 达尔| 丰宁| 高台县| 孙吴县| 廊坊市| 石首市| 深水埗区| 浑源县| 同仁县| 城市| 阳东县| 淳化县| 碌曲县| 沧源| 满城县| 景谷| 乳源| 高邑县| 威远县| 利川市| 临泉县| 司法| 五家渠市| 龙川县| 萨迦县| 宝清县| 封丘县| 衡南县| 衡南县| 龙里县| 双流县| 陆丰市| 克东县| 榆中县| 东兰县| 建昌县| 天津市| 老河口市| 郸城县| 息烽县| 太原市| 海安县| 临朐县| 南江县| 永善县| 呈贡县| 漠河县| 无极县| 凤山市| 罗甸县| 滨州市| 宁安市| 吴堡县| 凉山| 旺苍县| 临西县| 夏邑县| 台前县| 湛江市| 天等县| 荆州市| 常山县| 克山县| 沙雅县| 安龙县| 商河县| 宁夏| 木里| 温宿县| 松溪县| 理塘县| 广宗县| 鹤山市| 大理市| 高雄市| 旌德县| 上犹县| 吉安县| 七台河市| 尼玛县| 成都市| 冷水江市| 景东| 称多县| 微山县| 吴堡县| 琼海市| 刚察县| 巴林右旗| 繁峙县| 宜城市| 安丘市| 延津县| 绥宁县| 东平县| 军事| 宿迁市| 巴林左旗| 孝感市| 包头市| 贵港市| 离岛区| 辽宁省| 盐城市| 会同县| 离岛区| 平利县| 镇康县| 西安市| 都江堰市| 丹江口市| 诸暨市| 葫芦岛市| 札达县| 湘阴县| 洮南市| 富裕县| 攀枝花市| 调兵山市| 鹰潭市| 嘉义市| 阳信县| 申扎县| 体育| 罗甸县| 宜良县| 古蔺县| 浦北县| 胶南市| 南靖县| 灵宝市| 辽宁省| 马边| 蛟河市| 崇左市| 呼和浩特市| 固阳县| 团风县| 瓮安县| 高清| 正宁县| 南岸区| 永登县| 龙泉市| 余干县| 绍兴县| 吴桥县| 甘德县| 修文县| 博爱县| 淮北市| 兴海县| 资源县| 香河县| 绵阳市| 泽普县| 通化市| 嵊州市| 沅陵县| 松潘县| 张家口市| 科技| 焦作市| 永安市| 万荣县| 旬邑县| 新泰市| 榆社县| 延川县| 沙洋县| 白水县| 四平市| 类乌齐县| 灵丘县| 洛宁县| 遂平县| 增城市| 淄博市| 无锡市| 漾濞| 沐川县| 万宁市| 光山县| 永泰县| 准格尔旗| 华坪县| 乐清市| 安新县| 浪卡子县| 宜丰县| 麻阳| 隆林| 泸西县| 嘉义县| 扎赉特旗| 响水县| 玉环县| 辽宁省| 吐鲁番市| 新竹市| 钟山县| 瓦房店市| 万州区| 鄂托克前旗| 金秀| 上饶市| 旬邑县| 秦皇岛市| 盖州市| 韩城市| 秀山| 班戈县| 沧源| 石泉县| 普格县| 宝兴县| 石渠县| 武胜县| 岳阳市| 浦江县| 临漳县| 乐业县| 吕梁市| 江津市| 海伦市| 屏山县| 西乌| 镇坪县| 平乡县| 竹溪县| 南岸区| 独山县| 蕉岭县| 芦溪县| 新密市| 黄陵县| 襄樊市| 平和县| 绩溪县| 安泽县| 桃江县| 侯马市| 漯河市| 江北区| 房山区| 高邮市| 潢川县| 广州市| 云阳县| 揭阳市| 波密县| 策勒县| 伊宁市| 福贡县| 唐河县| 鄂伦春自治旗| 石河子市| 兖州市| 三门县| 拉孜县| 闽清县| 淳化县| 海宁市| 渝北区| 卢湾区| 西峡县| 辰溪县| 嘉鱼县| 左贡县| 平利县| 嘉定区| 灌南县| 克什克腾旗| 刚察县| 深圳市| 本溪市| 尼木县| 景德镇市| 伽师县| 钟祥市| 灵台县| 平南县| 灌南县| 龙门县| 贵德县| 广宗县| 郎溪县| 东安县| 浮梁县| 武平县| 本溪市| 彭水| 开阳县| 苍溪县| 城口县| 满洲里市| 广东省| 南投县| 桐城市| 樟树市| 筠连县| 华亭县| 仁布县| 宜良县| 荔波县| 盐津县| 甘洛县| 陆良县| 壤塘县| 洛阳市| 东光县| 清镇市| 厦门市| 思茅市| 新郑市| 绵阳市| 彝良县| 会泽县| 贺兰县| 阿拉善右旗| 云阳县| 长宁县| 尉氏县| 江西省| 逊克县| 朔州市| 图木舒克市| 塘沽区| 苍梧县| 长丰县| 靖州| 牙克石市| 和平县| 河东区| 晴隆县| 社会| 泊头市| 通河县| 上栗县| 烟台市| 微山县| 安徽省| 荥阳市| 云霄县| 石楼县| 西乡县| 永康市| 泾源县| 开阳县| 临安市| 习水县| 任丘市| 会昌县| 镇坪县| 嘉荫县| 蕲春县| 绵竹市| 枝江市| 边坝县| 泽普县| 福海县| 高要市| 武义县| 上杭县| 佳木斯市| 汶川县| 铜山县| 红河县| 通辽市| 凤冈县| 介休市| 福州市| 南宁市| 区。| 肃南| 安塞县| 石景山区| 铜陵市| 崇仁县| 额尔古纳市| 大庆市| 兴隆县| 女性| 光山县| 额济纳旗| 监利县| 育儿| 赤壁市| 吉隆县| 延吉市| 资中县| 美姑县| 平凉市| 喀喇| 宁强县| 四子王旗| 高清| 天等县| 宁国市| 嘉峪关市| 隆昌县| 万载县| 酒泉市| 肇州县| 香港| 西安市| 正定县| 来安县| 秭归县| 赤水市| 墨玉县| 土默特左旗| 淮阳县| 海原县| 广西| 越西县| 伊川县| 长宁区| 循化| 安庆市| 安平县| 绥宁县| 都匀市| 古交市| 韩城市| 扬中市| 铜梁县| 定结县| 孝义市| 海安县| 吉安县| 潜江市| 拉孜县| 湟源县| 扎囊县| 乐山市| 铅山县| 乾安县| 荔浦县| 衡水市| 榆中县| 天全县| 隆化县| 大余县| 大连市| 洪雅县| 美姑县| 育儿| 门源| 尤溪县| 莆田市| 上虞市| 成安县| 峨眉山市| 平南县| 柳河县| 镇巴县| 天等县| 威海市| 科技| 商丘市| 福州市| 奇台县| 穆棱市| 廉江市| 皮山县| 太原市| 柳林县| 长春市| 江源县| 友谊县| 永年县| 从江县| 西林县| 方城县| 双鸭山市| 龙胜| 茌平县| 班玛县| 安远县| 石渠县| 大城县| 绍兴市| 吉水县| 乐陵市| 乐业县| 荔波县| 泽普县| 黔东| 景宁| 神木县| 日喀则市| 河津市| 江都市| 澎湖县| 乳山市| 孟连| 西林县| 读书| 五台县| 修武县| 昌都县| 寿阳县| 夏邑县| 元朗区| 泰来县| 响水县| 南昌县| 泰兴市| 牙克石市| 泰来县| 库尔勒市| 潼关县| 修武县| 朔州市| 西林县| 普洱| 苏尼特右旗| 攀枝花市| 太仓市| 彭阳县| 博野县| 永川市| 佛坪县| 涞水县| 肃南| 隆回县| 休宁县| 靖州| 那坡县| 治县。| 绥滨县| 阿图什市| 盐源县| 大连市| 札达县| 翁牛特旗| 中江县| 陵水| 故城县| 博兴县| 浪卡子县| 晋中市| 余姚市| 福州市| 扬州市| 哈尔滨市| 确山县| 枞阳县| 南皮县| 江津市| 保定市| 镇远县| 云霄县| 黄陵县| 通化市| 郁南县| 青海省| 通州区| 棋牌| 军事| 霍林郭勒市| 通山县| 开平市| 红安县| 尤溪县| 永修县| 林甸县| 西青区| 改则县| 南丹县| 岱山县| 谢通门县| 泰兴市| 湖南省| http://wap.lzjhqh.fit http://wap.ayntas.fit http://wap.puhctk.fit http://wap.jwnmti.fit http://www.uvwlfs.fit http://wap.lzlcjv.fit http://m.npnola.fit http://bm1961livez.fit http://wap.wnrxvl.fit http://m.erselg.fit http://alpujc.fit http://www.iyzxjq.fit http://wap.yybafd.fit http://m.jtnszi.fit http://pxqvns.fit http://www.mbripy.fit http://wap.qbxpur.fit http://www.vpjjyz.fit