javaweb文件上传

来源:互联网 发布:软件项目验收阶段 编辑:程序博客网 时间:2024/06/05 14:19

jsp中标签input type=“file” 可以实现文件上传

<form>

......

<input type="file" name="iconField" class="file" >

......

</form>

当提交表单的时候file会被加入到httpservletrequest中

java端代码:我使用的是springmvc 这边是我实现图片上传的实现,和文件上传其实是一样的。

public Result uploadPic(HttpServletRequest req, String fileField) {Result result = new Result();MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) req;MultipartFile file = multipartRequest.getFile(fileField);FileOutputStream outputStream = null;String filename = "";String iconfullpath = "";if (file != null && file.getSize() == 0) {// 表示用户没有选择图片,使用的是默认图片iconfullpath = saveDefalutIcon(req);}if (file != null && file.getSize() > 0) {try {if (file.getSize() > 1000000) {result.setError(1, "上传失败:文件大小不能超过1M");return result;}String iconsdirpath = ICONDIR;filename = UUID.randomUUID() + "";// 将图片的名字唯一表示String originalname = file.getOriginalFilename();String pictype = originalname.substring(originalname.lastIndexOf("."), originalname.length());filename += pictype;byte[] iconbyte = file.getBytes();File iconsdir = new File(iconsdirpath);if (!iconsdir.exists()) {iconsdir.mkdir();}iconfullpath = iconsdirpath + filename;File iconfile = new File(iconfullpath);outputStream = new FileOutputStream(iconfile);outputStream.write(iconbyte);outputStream.flush();} catch (Exception e) {result.setError(1, "上传失败:文件保存出错");return result;} finally {if (outputStream != null) {try {outputStream.close();outputStream = null;} catch (IOException e) {e.printStackTrace();}}}}result.setMsg(iconfullpath);return result;}



我这边是将文件上传到服务器上的文件系统中的。

代码中的参数fileField是jsp中file的name的值。

注意是使用

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) req;
MultipartFile file = multipartRequest.getFile(fileField);获取到file上传的文件。

这边获取上传文件在不同框架中是不同的,比如通过servlet实现的后台,这边要具体情况具体分析。


最主要就是获取到上传的文件,之后的操作其实就是java的IO操作。后面的代码可以忽略,大家根据自己的需求实现。




原创粉丝点击