1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Android客户端上传文件 C#服务端接收文件

Android客户端上传文件 C#服务端接收文件

时间:2021-09-06 16:03:49

相关推荐

Android客户端上传文件 C#服务端接收文件

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 = bine(targetDir, Path.GetFileName(guid));file.SaveAs(path);str = str + "/UpLoad/" + DateTime.Now.ToString("yyyy-MM-dd") + "/file/" + guid;}}return "上传成功," + str;}elsereturn "文件不存在";}catch (Exception ex){return "上传失败," + ex.Message;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。