zoukankan      html  css  js  c++  java
  • [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()方法

  • 相关阅读:
    安装 Panda3D 并使用原有的Python
    Jupyter Notebook PDF输出的中文支持
    lua的文件管理
    elasticsearch-hadoop.jar, 适用于spark3,hadoop3
    shell中递归遍历指定文件夹下的文件
    JDBC的ResultSet游标转spark的DataFrame,数据类型的映射以TeraData数据库为例
    Pandas一些小技巧
    用c++后缀自动机实现最大公共字符串算法,并封装成Python库
    后缀自动机的python实现
    PYTHON调用C接口(基于Ctypes)实现stein算法最大公约数的计算
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5304155.html
Copyright © 2011-2022 走看看