java 后台如何获取前台上传的几张图片

Python013

java 后台如何获取前台上传的几张图片,第1张

上传图片和获取代码如下:package actionimport java.io.Fileimport java.io.IOExceptionimport java.util.Listimport javax.servlet.Servletimport javax.servlet.ServletExceptionimport javax.servlet.http.HttpServletimport javax.servlet.http.HttpServletRequestimport javax.servlet.http.HttpServletResponseimport org.apache.commons.fileupload.FileItemimport org.apache.commons.fileupload.FileUploadExceptionimport org.apache.commons.fileupload.disk.DiskFileItemFactoryimport org.apache.commons.fileupload.servlet.ServletFileUploadpublic class FileUploadAction extends HttpServlet implements Servlet{public FileUploadAction() {}@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response)}//action请求自动跳转到这里(配置文件配置)@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {DiskFileItemFactory factory = new DiskFileItemFactory()ServletFileUpload upload = new ServletFileUpload(factory)List<FileItem>itemstry {items = upload.parseRequest(request)//参数是HttpServletRequest对象for (FileItem item : items){//遍历所有客户端提交的参数(包括文件域)if(item.isFormField()){String key=item.getFieldName()String value=item.getString()}else{String key = item.getFieldName()//取出文件域的键 String value = item.getName()//取出文件域的值 long fileLen = item.getSize()//取出上传文件的尺寸 String mimeType = item.getContentType()//取出上传文件的类型 File f=new File("E:\\test\\")//文件地址(上传后服务器硬盘地址) f.mkdirs() item.write(new File(f+"\\"+value))//保存上传的文件到服务器本地 String dizhi=f+"\\"+value// boolean fag= excelaction.ExcelIinput(f+"\\"+value)response.sendRedirect("/g-ecis/excelout.do?method=ExcelIinput&dizhi="+dizhi)//这里是重新向(指定业务需求,其他人可以忽略删除)}}} catch (FileUploadException e) {// TODO Auto-generated catch blocke.printStackTrace()} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace()}}}上传成功后图片是保存在Java服务器上的。可以直接用File file=new File("图片上传保存的地址")获取。如果图片只是需要上传后直接永久显示或者动态显示在网页,可以通过Java代码传递图片工程地址到页面。页面能直接显示。如果后台获取到其他网站或服务器上的图片这涉及到网络编程。具体操作目前我暂时没有用到。

页面里你用uploadify或jquery之类的随意。

后台spring配置文件applicationContext.xml中配置

<!-- 限制上传文件尺寸,限制为5MB -->

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

<property name="maxUploadSize" value="5242880"/>

</bean>

controller的方法定义类似于,如果不一定需要上传文件的话,最好再加上if(!logo.isEmpty())的判断

@RequestMapping(value="/upload")

public ModelAndView editSoftware(HttpServletRequest request,@RequestParam(required=false) MultipartFile logo){

        ModelAndView view=new ModelAndView()

//定义上传路径

String path=request.getSession().getServletContext().getRealPath("/resources/upload/")

//获取上传文件的文件名

String fileName=logo.getOriginalFilename()

File file=new File(path, fileName)

try {

//保存文件

FileUtils.copyInputStreamToFile(logo.getInputStream(), file)

} catch (IOException e) {

e.printStackTrace()

}

view.setViewName("")

return view

}