/** * fileName 文件名(不带后缀) * filePath 文件的本地路径 (xxx / xx / test.jpg) */public static  void uploadFile(String strServerUrl, String strFile) {    String end = "\r\n";    String twoHyphens = "--";    String boundary = "*****";    try {        URL url = new URL(strServerUrl);        HttpURLConnection con = (HttpURLConnection) url.openConnection();         /* 允许Input、Output,不使用Cache */        con.setDoInput(true);        con.setDoOutput(true);        con.setUseCaches(false);        /* 设置传送的method=POST */        con.setRequestMethod("POST");        /* setRequestProperty */        con.setRequestProperty("Connection", "Keep-Alive");        con.setRequestProperty("Charset", "UTF-8");        con.setRequestProperty("Content-Type",                "multipart/form-data;boundary=" + boundary);        String strFileName = strFile.substring(strFile.lastIndexOf("/") + 1);        /* 设置DataOutputStream */        DataOutputStream ds =                new DataOutputStream(con.getOutputStream());        ds.writeBytes(twoHyphens + boundary + end);        ds.writeBytes("Content-Disposition: form-data; " +                "name=\"file1\";filename=\"" +                strFileName + "\"" + end);        ds.writeBytes(end);        /* 取得文件的FileInputStream */        FileInputStream fStream = new FileInputStream(strFile);        /* 设置每次写入1024bytes */        int bufferSize = 10240;        byte[] buffer = new byte[bufferSize];        int length = -1;         /* 从文件读取数据至缓冲区 */        while ((length = fStream.read(buffer)) != -1) {        /* 将资料写入DataOutputStream中 */            ds.write(buffer, 0, length);        }        ds.writeBytes(end);        ds.writeBytes(twoHyphens + boundary + twoHyphens + end);        /* close streams */        fStream.close();        ds.flush();        /* 取得Response内容 */        InputStream is = con.getInputStream();        int ch;        StringBuffer b = new StringBuffer();        while ((ch = is.read()) != -1) {            b.append((char) ch);        }        /* 关闭DataOutputStream */        ds.close();        is.close();    } catch (Exception e) {        e.printStackTrace();    }}

更多相关文章

  1. android用于打开各种文件的intent,包括以下文件PDF,PPT,WORD,EXC
  2. android 删除sdcard中文件命令
  3. android 不能安装超过600MB文件?
  4. [android]寫一個system/bin 下的可執行文件
  5. Android mediaScanner 删除U盘上的文件
  6. android tabHost布局之一 不继承TabActivity并以布局文件进行布
  7. Android踩坑——mkdir方法中返回false导致新建文件失败

随机推荐

  1. android上的i-jetty (2)用Servlet显示Andro
  2. 无法安装ADT(无法访问https://dl-ssl.goog
  3. SystemServer
  4. Fedora 12安装Android SDK
  5. android 呼吸灯实现源码
  6. Android中使用 MediaExtractor 和 MediaM
  7. Android(安卓)SDK 4.0.3 开发环境配置及
  8. android am命令
  9. Android 经典示例,初学者的绝好源码资料
  10. shape的使用