1. 文件上传的两种方式

(1) HttpClient

(2)AsyncHttpClient (开源框架: https://github.com/loopj/android-async-http

示例代码(2)最简单

public void upload(View v){
String path = et_path.getText().toString().trim();
File file = new File(path);
String uri = "http://192.168.1.100:8080/TestLogin/servlet/UploadFile";
if(file.exists() && file.length()>0){
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
try {
params.put("profile_picture", file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
client.post(uri, params, new AsyncHttpResponseHandler(){ @Override
public void onFailure(Throwable error, String content) {
Toast.makeText(MainActivity.this, "上传失败", Toast.LENGTH_SHORT).show();
} @Override
public void onSuccess(String content) {
Toast.makeText(MainActivity.this, "上传成功", Toast.LENGTH_SHORT).show();
} });
}else{
Toast.makeText(this, "文件不存在", Toast.LENGTH_SHORT).show();
}
}

示例代码(1)

public void upload(View viwe){
HttpClient client = new HttpClient();
PostMethod filePost = new PostMethod("http://192.168.1.100:8080/web/UploadServlet");;
try {
String path = et_path.getText().toString().trim();
File file = new File(path);
if(file.exists()&&file.length()>0){
Part[] parts = {new StringPart("nameaaaa", "valueaaa"),
new StringPart("namebbb", "valuebbb"),
new FilePart("pic", new File(file.getAbsolutePath()))};
filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));
client.getHttpConnectionManager().getParams()
.setConnectionTimeout(5000);
int status = client.executeMethod(filePost);
if(status ==200){
Toast.makeText(this, "上传成功", 1).show();
}else{
Toast.makeText(this, "上传失败", 1).show();
} }
else{
Toast.makeText(this, "上传的文件不存在", 0).show();
}
} catch (Exception e) {
e.printStackTrace();
filePost.releaseConnection();
} }

Android -- 文件上传到服务器的更多相关文章

  1. android文件上传到服务器

    package uploadDemo; import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStre ...

  2. Java实现文件上传到服务器(FTP方式)

    Java实现文件上传到服务器(FTP方式) 1,jar包:commons-net-3.3.jar 2,实现代码: //FTP传输到数据库服务器 private boolean uploadServer ...

  3. Linux 文件上传Linux服务器

    进入命令行 在图形化桌面出现之前,与Unix系统进行交互的唯一方式就是借助由shell所提供的文本命令行界面(command line interface,CLI).CLI只能接受文本输入,也只能显示 ...

  4. 基于paramiko将文件上传到服务器上

    通过安装使用paramiko模块,将本地文件上传到服务器上 import paramiko import datetime import os hostname = '服务器ip' username ...

  5. ubuntu中将本地文件上传到服务器

    (1)在本地的终端下,而不是在服务器上.在本地的终端上才能将本地的文件拷入服务器. (2) scp -r localfile.txt username@192.168.0.1:/home/userna ...

  6. 一、手把手教你docker搭建fastDFS文件上传下载服务器

    在搭建fastDFS文件上传下载服务器之前,你需要准备的有一个可连接的linux服务器,并且该linux服务器上已经安装了docker,若还有没安装docker的,先百度自行安装docker. 1.执 ...

  7. android和struts2实现android文件上传

    1.开发准备如下2个工具类 package org.lxh.util; import java.io.BufferedReader; import java.io.InputStreamReader; ...

  8. Android文件上传与下载

    文件上传与下载 文件上传 -- 服务端 以Tomcat为服务器,Android客服端访问Servlet,经Servlet处理逻辑,最终将文件上传,这里就是简单模拟该功能,就将文件上传到本机的D:\\u ...

  9. java文件上传到服务器

    最近项目中使用到了文件从本地到服务器的功能.其实是为了解决目前浏览器不支持获取本地文件全路径.不得已而想到上传到服务器的固定目录,从而方便项目获取文件,进而使程序支持EXCEL批量导入数据. 在前台界 ...

随机推荐

  1. npm install命令对package-lock.json文件自动做了一些额外的更新

    今天我使用 npm 命令给项目安装file-saver,通过git却发现package-lock.json中除了file-saver组件之外的其他组件的记录也被改了 npm为何会自动做这些更改呢,又如 ...

  2. Apache mahout 源码阅读笔记--协同过滤, PearsonCorrelationSimilarity

    协同过滤源码路径: ~/project/javaproject/mahout-0.9/core/src $tree main/java/org/apache/mahout/cf/taste/ -L 2 ...

  3. redis安装使用教程

    一:安装redis 1.下载redis并安装 $wget http://redis.googlecode.com/files/redis-2.2.10.tar.gz $tar zvxf redis-2 ...

  4. django cookie 提供的功能 参数

    # 用户发来数据带来所有COOKIES 这个cookie是字典 request.COOKIES # 获取字典 获取cookierequest.COOKIES["username111&quo ...

  5. gbdt调参的小结

    关键部分转自http://www.cnblogs.com/pinard/p/6143927.html 第一次知道网格搜索这个方法,不知道在工业中是不是用这种方式 1.首先从步长和迭代次数入手,选择一个 ...

  6. python全栈开发从入门到放弃之socket并发编程多进程

    1.1 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程 ...

  7. 一次http请求中的信息

    什么是Http 一次http传输,是由请求报文和响应报文来完成的 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World W ...

  8. Please check registry access list (whitelist/blacklist)

    https://blog.csdn.net/sprita1/article/details/51735566

  9. vue package.json 解析

    vue package.json 中可以看到这个包的来源位置 在repository对象中的url中可以看到     所以当你要封装自己包的时候就可以改变这个地址去加载这个包(把你封装的包发到某个gi ...

  10. Ubuntu server 安装的mysql数据库忘记密码的解决方法

    客户端连接时报错MySQL数据库出现:Error 1045错误时,就表明输入的用户名或密码错误被拒绝访问了. 解决办法可以分为以下几步: 1.修改mysql配置文件,使得可以无密码登录mysql su ...