文件、图片的上传(一)-----前端与后端代码
2017-10-26 22:30
696 查看
用的编译器是idea,前端代码在jsp页面中,后端则是写在SSM框架中控制层Controller。
前端代码(jsp页面)
需要注意的是,form表单后面一定要加上
前端页面展示:
点击浏览,找到本地图片:
选择打开,或双击,图片名称就显示在文本框中,点击上传,即可将图片上传到服务器中,并将图片的相关信息存储在数据库中。
后端代码具体如下:
如果图片没有上传到你想要的目录,你需要修改idea中默认的文件上传路径。但是,怎么修改呢,这是个问题。
自己尝试了各种方法也没有实现自己想要的结果,后来询问了学长,知道了想要修改idea中文件上传到的路径很简单。
将此处路径改为你需要的路径即可。
在后端代码的这部分,如果你想上传的文件夹下没有image文件夹,则会自动创建image文件夹,如果想在image文件夹下另外再建一个名为memberImage的子文件夹,则只需将代码改为
最后截了两张关于文件上传的图片
前端代码(jsp页面)
<form action="${website}file/file/${id}" method="post" enctype="multipart/form-data"> <input type='text' name='textfield' id='textfield' class='txt' /> <input type="file" name="file" class="file" id="fileField" size="28" onchange="document.getElementById('textfield').value=this.value" /> <input type="submit" name="submit" class="btn" value="上传" /> </form>
需要注意的是,form表单后面一定要加上
enctype="multipart/form-data"
前端页面展示:
点击浏览,找到本地图片:
选择打开,或双击,图片名称就显示在文本框中,点击上传,即可将图片上传到服务器中,并将图片的相关信息存储在数据库中。
后端代码具体如下:
@RequestMapping(value = "/file/{id}", method = RequestMethod.POST) public String upload( @PathVariable("id") int id , @RequestParam("file")CommonsMultipartFile file, HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes) throws Exception { //获得原始文件名 String filename = file.getOriginalFilename(); System.out.println("原始文件名:"+ filename); String newFileName = UUID.randomUUID()+ filename; // UUID.randomUUID()局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的, ServletContext sc = request.getSession().getServletContext(); String path = sc.getRealPath("image")+"/"; File f = new File(path); if(!f.exists()){ f.mkdirs(); } if (!file.isEmpty()){ try{ FileOutputStream fos = new FileOutputStream(path+newFileName); InputStream in = file.getInputStream(); int b = 0; while((b = in.read())!=-1){ fos.write(b); } fos.close(); in.close(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } redirectAttributes.addAttribute("id",id); model.addAttribute("msg","上传成功!"); com.pandawork.common.entity.File file1 = new com.pandawork.common.entity.File(); String name = "../../image/"+newFileName; file1.setName(name); file1.setVisible(0); fileService.addImage(file1); return "fileUpload"; }
如果图片没有上传到你想要的目录,你需要修改idea中默认的文件上传路径。但是,怎么修改呢,这是个问题。
自己尝试了各种方法也没有实现自己想要的结果,后来询问了学长,知道了想要修改idea中文件上传到的路径很简单。
将此处路径改为你需要的路径即可。
String path = sc.getRealPath("image")+"/";
在后端代码的这部分,如果你想上传的文件夹下没有image文件夹,则会自动创建image文件夹,如果想在image文件夹下另外再建一个名为memberImage的子文件夹,则只需将代码改为
String path = sc.getRealPath("image/memberImage")+"/";
最后截了两张关于文件上传的图片
相关文章推荐
- 一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)
- 图片导出ZIP包前端到后端的流程代码
- UEditor配置-上传图片或文件时提示后端配置未正常加载
- struts1保存上传图片及文件--Java类代码
- 前端上传多张图片,编译发给后端
- iOS Asihttp上传文件(图片等)以及服务端的代码(c#,.net Web api2)
- 基于spring-boot的文件上传和下载(包括图片的压缩)--第一篇(Java代码)
- 基于阿里的Node全栈之路(四)前后端分离进阶-自动上传前端代码到OSS
- 后端springmvc,前端html5的FormData实现文件断点上传
- php实现图片上传与文件上传的实现代码实例
- Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
- h5移动开发Ajax上传多张Base64格式图片(前端发送及后端验证)
- 说说前端开发中代码文件的上传
- PHP 图片文件上传实现代码
- Laravel中前端js上传图片到七牛云的示例代码
- 文件上传servlet处理代码分享/ckeditor图片上传servlet处理
- Apache Cordova 安卓android上传图片或者文件 调用后台服务实现java代码 ft.upload(imageURI, uri, that.uploadSuccess, that.
- ASP.NET(C#)实现一次性动态上传多张图片的代码(多个文件)
- 前端文件上传3:使用xmlhttprequest上传图片(web项目)
- Jersey后端服务接收ajax前端的图片上传