Android客户端代码

    public static String uploadImage(File file, String RequestURL) {        String result = "error";        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(50000);            conn.setConnectTimeout(50000);            conn.setDoInput(true);//允许输入流            conn.setDoOutput(true);//允许输出流            conn.setUseCaches(false);//不允许使用缓存            conn.setRequestMethod("POST");//请求方式            conn.setRequestProperty("Charset", "UTF-8");//设置编码            conn.setRequestProperty("connection", "keep-alive");            conn.setRequestProperty("Content-Type", CONTENT_TYPE + ";boundary=" + BOUNDARY);            conn.connect();            if (file != null) {                //当文件不为空,把文件包装并且上传                DataOutputStream dos = new DataOutputStream(conn.getOutputStream());                dos.writeBytes(PREFIX + BOUNDARY + LINE_END);                dos.writeBytes("Content-Disposition: form-data; " + "name=\"inputName\";filename=\"" + file.getName() + "\"" + LINE_END);                dos.writeBytes(LINE_END);                FileInputStream is = new FileInputStream(file);                byte[] bytes = new byte[1024];                int len = -1;                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=成功                 * 当响应成功,获取响应的流                   */                int res = conn.getResponseCode();                if (res == 200) {                    InputStream input = conn.getInputStream();                    StringBuilder sbs = new StringBuilder();                    int ss;                    while ((ss = input.read()) != -1) {                        sbs.append((char) ss);                    }                    result = sbs.toString();                    String filepathnow=file.getPath();                    String newfilename=filepathnow.substring(0,filepathnow.lastIndexOf("."))+"-已上传.log";                    file.renameTo(new File(newfilename) );                }            }        } catch (IOException e) {            e.printStackTrace();        }        return result;    }

C#服务端代码

public static string Upload_File(){    try    {        HttpFileCollection file_list = HttpContext.Current.Request.Files;        if (file_list != null && file_list.Count > 0)        {            string str = string.Empty;            for (int i = 0; i < file_list.Count; i++)            {                HttpPostedFile file = file_list[i];                string type = file.ContentType;//获取文件类型                string FileName = file.FileName;                string guid = "";                if (FileName != null && FileName != "")                {                    string FileType = FileName.Substring(FileName.LastIndexOf(".") + 1);//得到文件的后缀名                    guid = DateTime.Now.ToString("yyyyMMddhhmmss") + FileName;//得到重命名的文件名                                                                                //定义文件存放的目标路径                    string targetDir = HttpContext.Current.Server.MapPath("~/UpLoad/" + DateTime.Now.ToString("yyyy-MM-dd") + "/file");                    //创建目标路径                    Directory.CreateDirectory(targetDir);                    string path = Path.Combine(targetDir, Path.GetFileName(guid));                    file.SaveAs(path);                    str = str + "/UpLoad/" + DateTime.Now.ToString("yyyy-MM-dd") + "/file/" + guid;                }            }            return "上传成功," + str;        }        else            return "文件不存在";    }    catch (Exception ex)    {        return "上传失败," + ex.Message;    }}

 

更多相关文章

  1. 安卓高手之路之PackageManagerservice
  2. Android(安卓)input 输入系统学习
  3. android framework添加自定义服务,实现java层api调用
  4. Android(安卓)实现文件(图片)上传
  5. android照相及照片上传
  6. android开机logo制作
  7. Android第五期 - 更新自己的apk本地与网络两种方法
  8. android上传图片至服务器
  9. android各种声音类型级数设定及默认值

随机推荐

  1. Android Edittext输入框点击空白处,软键盘
  2. android 监听来电
  3. android中获取IP的方法
  4. Android应用程序 启动画面
  5. Dalvik虚拟机启动全程解析
  6. Android使用MediaStore.ACTION_IMAGE_CAP
  7. android studio集成butterknife
  8. Android(安卓)library projects cannot b
  9. android bitmap的放大缩小
  10. android获取手机cpu是单核还是多核的方法