文件的上传的部分源代码.
来源:互联网 发布:windows 便笺 编辑:程序博客网 时间:2024/05/21 10:35
//服务器客户端都记得导包
//客户端用post请求.
//服务器用dopost方法.
public static String sendDataByHttpClientPost(String path , String name,String password ,String filepath) throws Exception{// 实例化上传数据的 数组 part []Part[] parts = {new StringPart("name", name), new StringPart("password", password), new FilePart("file", new File(filepath))};//得到filepost请求PostMethod filePost = new PostMethod(path); //设置实体filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));//得到client.org.apache.commons.httpclient.HttpClient client = new org.apache.commons.httpclient.HttpClient(); client.getHttpConnectionManager().getParams() .setConnectionTimeout(5000);
// 发送数据.int status = client.executeMethod(filePost);if(status==200){System.out.println( filePost.getResponseCharSet());//得到返回的数据String result = new String(filePost.getResponseBodyAsString());//将返回的数据转经过转码后的到.String ha = new String ( result.getBytes("ISO-8859-1"),"UTF-8");System.out.println(ha);System.out.println("--"+result);return result;}else{throw new IllegalStateException("服务器状态异常");} }
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//doGet(request, response);// 判断请求中是否包含文件.boolean isMultipart = ServletFileUpload.isMultipartContent(request);if(isMultipart){//若果有,得到文件上传的地址.String realpath = request.getSession().getServletContext().getRealPath("/files");System.out.println(realpath);//创建文件对象.File dir = new File(realpath);//若果目录不存在,目录创建.if(!dir.exists()) dir.mkdirs();//得到文件条目工厂factoryFileItemFactory factory = new DiskFileItemFactory();//将工厂塞给文件上传类.ServletFileUpload upload = new ServletFileUpload(factory);upload.setHeaderEncoding("UTF-8");try {//非常重要...文件上传类的到请求.为list集合. List<FileItem> items = upload.parseRequest(request);for(FileItem item : items){//遍历每一项.if(item.isFormField()){//若果是简单文本的话,就打印出来. String name1 = item.getFieldName(); String value = item.getString("UTF-8"); System.out.println(name1+ "="+ value);}else{//若果是文件类型,就把文件写到我的目录下.//System.currentTimeMillis()+ item.getName().substring(item.getName().lastIndexOf("."))为文件的名字//substring(item.getName().lastIndexOf(".")截取.后面的东西,如 时间.jpg.item.write(new File(dir, System.currentTimeMillis()+ item.getName().substring(item.getName().lastIndexOf("."))));}}response.getOutputStream().write("你好".getBytes("iso-8859-1"));} catch (Exception e) {e.printStackTrace();}}else{doGet(request, response);}}
0 0
- 文件的上传的部分源代码.
- 一个Web文件上传的C#源代码
- 一个Web文件上传的C#源代码
- ASP.NET文件上传程序的源代码
- asp.net上传文件的源代码
- asp.net上传文件的源代码
- ASP.NET文件上传程序的源代码
- ASP.NET文件上传程序的源代码
- 一个Web文件上传的C#源代码
- 一个Web文件上传的C#源代码
- SpringMVC技术上传文件的源代码
- 一次上传400个文件的上传组件 附源代码
- FCKeditor的修改与设置-文件上传部分管理部分
- 部分书籍的源代码
- QQ的部分源代码
- 文件上传的动态添加输入项源代码
- Struts2多个文件上传的分析及源代码说明
- Struts2多个文件上传的分析及源代码说明
- 多线程编程4 - GCD
- shell登录实现自动交互
- python操作MySQL数据库源码实例
- 《编程珠玑》--关于编程过程中几个重要阶段的摘录
- java中的byte类型
- 文件的上传的部分源代码.
- 多线程编程2 - NSOperation
- 正确理解ThreadLocal
- Linux 下 去掉终端显示的当前目录的绝对路径
- 多线程编程1 - NSThread
- SettingsProvider 之CachePrefetchThread
- SettingsProvider 之 SqlArguments
- 望远大光圈拍风景的魅力--不破不立系列(1)
- WWDC2014 IOS8 APP Extensions