springMVC的文件上传和基于ajax的文件上传(学习记录)
来源:互联网 发布:园艺专业就业相关数据 编辑:程序博客网 时间:2024/04/25 09:44
学习记录::
jsp页面: load.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="../js/jquery-1.4.4.min.js" ></script> <script type="text/javascript" src="../js/jquery.form.js" ></script> <script type="text/javascript"> var options = { //target: '#output2', // target element(s) to be updated with server response beforeSubmit: showRequest, // pre-submit callback success: function(response){ } , // post-submit callback // other available options: url: "/SpringTest/jsp/ajaxUploadTest.do", // override for form's 'action' attribute type: "post" // 'get' or 'post', override for form's 'method' attribute //dataType: null // 'xml', 'script', or 'json' (expected server response type) //clearForm: true // clear all form fields after successful submit //resetForm: true // reset the form after successful submit // $.ajax options can be used here too, for example: //timeout: 3000 }; function showRequest() { alert("before submit"); return true;//返回true才可以进行下一步 } // post-submit callback function showResponse(response) { alert("submit success"+response); } $(document).ready(function(){ $("#formTest").submit(function(){ options.success=function(response){ showResponse(response); }; options.beforeSubmit=showRequest; $(this).ajaxSubmit(options); return false; }); }); </script><title>Insert title here</title></head><body><form action="testUpload1.do" enctype="multipart/form-data" method="post"><input type="file" name="file" /><input type="file" name="file" /><input type="submit" value="上传1"/></form><p/><form action="testUpload2.do" enctype="multipart/form-data" method="post"><input type="file" name="file" /><input type="submit" value="上传2"/></form><p/><form action="testUpload3.do" enctype="multipart/form-data" method="post"><input type="file" name="file" /><input type="submit" value="上传3"/></form><br/>-------------------------------------------------------------------<br/>基于ajax的文件上传<br/><form id="formTest" enctype="multipart/form-data"><input type="file" name="file"/><input type="submit" value="基于ajax的上传"/></form></body></html>
package com;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.multipart.MultipartHttpServletRequest;@Controllerpublic class FileUploadController {/****多文件上传***/@RequestMapping(value="/jsp/testUpload1")@ResponseBodypublic boolean testUpload1(@RequestParam MultipartFile[] file){for(MultipartFile f:file){System.out.println(f.getOriginalFilename());}return true;}/***单文件上传**/@RequestMapping(value="/jsp/testUpload2")@ResponseBodypublic boolean testUpload2(@RequestParam MultipartFile file,HttpServletRequest req) throws IOException{InputStream is = file.getInputStream();String uploadFilePath=req.getSession().getServletContext().getRealPath("/")+"upload/";String filename = file.getOriginalFilename();//File tempfile=new File(uploadFilePath+filename);FileOutputStream fos=new FileOutputStream(uploadFilePath+filename);byte[] b=new byte[8192];int count =0;while((count=is.read(b))>0){fos.write(b,0,count);}fos.close();is.close();return true;}/***基于ajax的单文件上传**/@RequestMapping(value="/jsp/ajaxUploadTest")@ResponseBodypublic boolean ajaxUploadTest(@RequestParam MultipartFile file,HttpServletRequest req) throws IOException{InputStream is = file.getInputStream();String uploadFilePath=req.getSession().getServletContext().getRealPath("/")+"upload/";String filename = file.getOriginalFilename();//File tempfile=new File(uploadFilePath+filename);FileOutputStream fos=new FileOutputStream(uploadFilePath+filename);byte[] b=new byte[8192];int count =0;while((count=is.read(b))>0){fos.write(b,0,count);}fos.close();is.close();return true;}@RequestMapping(value="/jsp/testUpload3")@ResponseBodypublic boolean testUpload3(HttpServletRequest req,HttpServletResponse res){MultipartHttpServletRequest multi=(MultipartHttpServletRequest)req; MultipartFile file = multi.getFile("file"); System.out.println(req.getSession().getServletContext().getRealPath("/")+"upload/");return true;}}
关于ajax的文件上传是基于jquery.form.js的,起到页面无刷新的上传。
关于多文件上传,测试没有成功,以后会补上。
0 0
- springMVC的文件上传和基于ajax的文件上传(学习记录)
- springmvc学习记录----springmvc的文件上传和下载
- 基于SpringMVC的文件上传和下载
- 基于SpringMVC的文件上传
- 基于SpringMVC的上传文件
- SpringMVC和ajax文件上传
- SpringMVC的文件上传(基于原生Servlet的文件上传)
- SpringMVC学习(三)文件的上传和下载
- 基于springmvc的文件上传及其讲解
- 基于springMVC的文件上传-图片
- 基于springmvc的文件上传与下载
- springmvc的文件上传
- SpringMVC 的文件上传
- SpringMVC的文件上传
- SpringMVC的文件上传
- SpringMVC的文件上传
- springMVC的文件上传
- SpringMVC的文件上传
- Protecting HDFS Metadata
- Count and Say
- Struts 2标签库的表单标签使用
- android使用wifi进行调试
- poj 1151 Atlantis
- springMVC的文件上传和基于ajax的文件上传(学习记录)
- Jit设置节点图片
- Linux17-MySql数据库服务器的配置
- linux杂谈(九):yum仓库
- Sherpa | Complete Navigation System 介绍与教材
- 【cocos2d-x】3.0利用cocos-console创建,编译,部署游戏
- Linux 常用命令
- 字符串反转
- 软件测试常用工具