图片上传实例

jsp:

    <form action="/image/save.jhtml" method="post" enctype="multipart/form-data" style="width: 500px">
        <input type="hidden" name="focusId" value="${image.focusId}"/>
        <input type="hidden" name="type" value="${image.type}"/>
        <input type="file" name="imageFile"/>
        <input type="submit" value="上传"/>图片大小不能超过1M
    </form>

java:

    @RequestMapping("/image/save.jhtml")
    public ModelAndView save(@RequestParam(value = "imageFile", required = false)
                             MultipartFile imageFile, HttpServletRequest request, ModelMap model, Image image) {
        HttpSession session = request.getSession(false);
        User logUser = (User) session.getAttribute(GoutripUtils.USER_CONTEXT);
        if (null == logUser)
            return new ModelAndView("redirect:/views/public/index.jsp");
        String name = logUser.getName();
        image.setUpdator(name);
        image.setCreator(name);
        image.setStatus(1);
        String fileName = imageFile.getOriginalFilename();
        String lastName = fileName.substring(fileName.lastIndexOf(‘.‘));
        if (lastName.length() > 5)
            lastName = ".jpg";
        final File targetFile = PathUtil.getRandImgFile(lastName);
        final String filePath = targetFile.getPath();
        if (!targetFile.exists())
            targetFile.mkdirs();
        try {
            imageFile.transferTo(targetFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
        final String finalLastName = lastName;
        new Thread(new Runnable() {
            @Override
            public void run() {
                String picTo = null;
                picTo = filePath.substring(filePath.lastIndexOf(".")) + "_1000x500" + finalLastName;
                ImageUtils.resize(filePath, picTo, 500, 1000, true);
            }
        }).start();
        String path = PathUtil.getRandImgFileUrl(targetFile);
        if (path.equals("/"))
            path = PathUtil.getImgFileUrl(targetFile.getPath());
        System.out.println(path);
        image.setUrl(path);
        imageService.save(image);
        if (null == model)
            model = new ModelMap();
        model.clear();
        model.put("focusId", image.getFocusId());
        model.put("type", image.getType());
        return new ModelAndView("redirect:/image/manager.jhtml").addAllObjects(model);
    }
时间: 2024-10-05 23:27:14

图片上传实例的相关文章

layui加tp5图片上传实例

<div class="layui-fluid"> <div class="layui-row"> <form class="layui-form"> <div class="layui-form-item"> <label for="username" class="layui-form-label"> <span cl

webuploader项目中多图片上传实例

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title> 百度uploader Demo</title> <!--引入CSS--> <link rel="stylesheet" type="t

bootstrap 图片上传实例

引入的包: import java.io.File; import java.util.Iterator; import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.commons.fileupload.File

uploadify多图片上传实例

upload.php <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>uploadify 多文件上传例子</title> <link rel="stylesheet" type="text/css" href="upload

multer/express/node.js图片上传实例

前端 <form enctype="multipart/form-data" method="post"> <input type="file" id="avatar" name="avatar" /> <button>提交</button> </form> <script> $('button').click(function ()

Android图片文件上传实例

原文:Android图片文件上传实例 源代码下载地址:http://www.zuidaima.com/share/1550463718132736.htm 支持拍照图片上传和从手机相册中获取图片上传到服务器端的功能 源码截图

多实例集群部署下的图片上传

场景 存在多个无状态的Web应用服务,支持多实例集群化部署(使用nginx作为反向代理) 在Web应用中存在图片文件上传功能 不能将图片文件直接保存到数据库中,数据库中只保存文件访问链接 问题 因为Web应用服务是多实例集群化部署的,因此上传图片之后不能简单保存到本地,否则其他实例将无法访问上传之后的图片. 图片上传之后不要通过Web应用来访问(像Tomcat这样的Servlet容器不擅长处理静态文件) 解决方案 图片如何存储 针对第一个问题,图片通过Web应用上传之后不能保存在本地,应该使用专

PHP+jQuery.photoClip.js支持手势的图片裁剪上传实例

PHP+jQuery.photoClip.js支持手势的图片裁剪上传实例,在手机上双指捏合为缩放,双指旋转可根据旋转方向每次旋转90度,在电脑上鼠标滚轮为缩放,双击则顺时针旋转90度. 下面让我们来看看核心代码: post的是base64,后端处理base64转存图片. 1 $("#clipArea").photoClip({ 2 width: 200, 3 height: 200, 4 file: "#file", 5 view: "#view"

[项目构建 五]babasport ajax图片上传及FastDFS入门案例.

今天来开始写图片上传的功能, 现在的图片上传都讲求 上传完成后立刻回显且页面不刷新, 这里到底是怎么做的呢? 当然是借助于ajax了, 但是ajax又不能提交表单, 这里我们还要借助一个插件: jquery.form.js剩下的一个是FastDFS, 那么什么是FastDFS呢? FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server).存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适合以中小文