• [android] 上传文件到服务器


    异步http框架post提交数据到服务器

    前面我们使用普通的方式post提交数据,比较麻烦,现在使用异步框架来实现以下,感觉非常舒服。

    获取AsyncHttpClient对象

    调用AsyncHttpClient对象的post(uri,params,responseHandler)方法,post提交数据,参数:

    uri String类型的路径

    paramsRequestParams对象,类似map集合,put进去键值对

    responseHandlerResponseHandler对象,接口类型,

    直接new实现类AsyncHttpResponseHandler,重写onSuccess()方法和onError()方法

    上传文件到服务器

    首先需要搭建文件上传的服务器,

    打开j2ee for eclipse来新建一个web工程,

    自己弄比较麻烦,需要使用一些文件上传的框架,common-fileuploadcommon-io。新建一个Servlet来处理上传,把那两个jar包拷贝到webcontent/WEB-INF/lib目录里面

    使用jsp文件写个form表单,测试文件上传,查看Http协议,可以看到,文件上传实际上也是个post请求,有以下头信息不同

    Content-Type:multipart/form-data;boundary=-------------------------126555457,这个boundary是随机生成的分割线

    Content-Disposition:form-data;name=”xxx”;filename=”xxx”;Content-Type:xxxx

    输入流

    如果分割线后面有--代表数据结束,原来要上传需要面向http协议,写起来非常麻烦,需要拼接各种数据,现在使用框架,非常简单

    页面布局,一个Editext填写文件路径,一个Button按钮点击上传,线性布局竖直排列

    获取AsyncHttpClient对象

    调用AsyncHttpClient对象的post(uri,params,responseHandler)方法,post提交数据,参数:

    uri String类型的路径

    paramsRequestParams对象,类似map集合,put进去键值对,调用RequestParams对象的put()方法,键值对,值是File对象,newfile对象,包装文件路径

    responseHandlerResponseHandler对象,接口类型,

    直接new实现类AsyncHttpResponseHandler,重写onSuccess()方法和onError()方法

  • 相关阅读:
    C++11:限定作用域的枚举类型
    查询Windows用户SID
    终止git merging状态
    sed追加文件内容的几种方式
    显示一个目录下所有文件名字和对应的内容
    kvm常用指令
    路由相关指令和概念理解
    打开 macOS Sierra 允许“任何来源”选项,运行第三方应用
    Flutter Tips
    C++编写的Vector3类
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5304155.html
Copyright © 2020-2023  润新知