⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uploadimagecontroller.java

📁 java写的blog
💻 JAVA
字号:
/*
 * Created on 2004-10-9
 * Author: Xuefeng, Copyright (C) 2004, Xuefeng.
 */
package org.crystalblog.web;

import java.util.*;

import javax.servlet.http.*;

import org.crystalblog.domain.*;
import org.crystalblog.logic.Facade;

import org.springframework.web.multipart.*;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

/**
 * Upload an image.
 * 
 * @author Xuefeng
 */
public class UploadImageController implements Controller {

    private String baseDir = null;
    private Facade facade;

    public void setFacade(Facade facade) { this.facade = facade; }

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        if(baseDir==null) {
            synchronized(this) {
                baseDir = request.getSession().getServletContext().getRealPath("/upload/");
                if(!baseDir.endsWith("/") && !baseDir.endsWith("\\"))
                    baseDir = baseDir + "/";
                System.out.println("[INFO] Set upload dir = " + baseDir);
            }
        }

        Identity id = Identity.getIdentity(request);
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;

        int categoryId = Integer.parseInt(multipartRequest.getParameter("categoryId"));
        String title = multipartRequest.getParameter("title");

        // get file:
        MultipartFile file = multipartRequest.getFile("file");
        System.out.println("File: " + file.getOriginalFilename());
        String filename = file.getOriginalFilename();
        int n = filename.lastIndexOf(".");
        if(n==(-1))
            throw new IllegalArgumentException("The image file is invalid. Only \".gif\", \".jpg\" and \".png\" formats are allowed.");
        String type = filename.substring(n);

        Image image = new Image();
        image.setCategoryId(categoryId);
        image.setTitle(title);
        image.setVisible("0".equals(request.getParameter("visible")) ? false : true);
        image.setImageType(type);
        // create image:
        System.out.println("contextPath=" + request.getContextPath());
        facade.createImage(id, image, baseDir, file.getInputStream());

        // show result:
        Map map = new HashMap();
        map.put("account", facade.getAccount(id.getAccountId()));
        map.put("position", "Manage >> Result");
        map.put("message", "The image has been uploaded successfully!");
        map.put("url", "manageImage.c?categoryId=" + categoryId);
        return new ModelAndView("/manage/result.html", map);
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -