图片上传过程

Posted rgever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图片上传过程相关的知识,希望对你有一定的参考价值。

 

1、把commons-iofileupload jar包添加到工程中。(pom文件中添加依赖即可)

2、在表现层(taotao-web)springmvc.xml文件中配置多媒体解析器

<!-- 定义文件上传解析器 -->

<bean id="multipartResolver"

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

<!-- 设定默认编码 -->

<property name="defaultEncoding" value="UTF-8"></property>

<!-- 设定文件上传的最大值5MB,5*1024*1024 -->

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

</bean>

 

3、上传图片:

package cn.e3mall.controller;

import cn.e3mall.common.util.FastDFSClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import java.util.*;

/**
 * 图片上传Controller
 */
@Controller
public class PictureController {

    @Value("${IMAGE_SERVER_URL}")
    private String IMAGE_SERVER_URL;

    @RequestMapping("/pic/upload")
    @ResponseBody
    public Map uploadFile(MultipartFile uploadFile){
        try{
            //上传文件
            FastDFSClient fastDFSClient = new FastDFSClient("classpath:conf/client.conf");
            //获取到文件的原名称(原名称中包含文件扩展名)
            String originalFilename = uploadFile.getOriginalFilename();
            //获取文件扩展名(originalFilename.lastIndexOf(".")表示从"."开始,包含"."
            String extName = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);
            //根据返回的String拼好完整的路径名(第一个参数是上传文件的字节数组,第二个参数是文件的扩展名)
            String string = fastDFSClient.uploadFile(uploadFile.getBytes(), extName);
            //拼接路径(http://192.168.1.142/+string
            String url = IMAGE_SERVER_URL+string;
            //装到Map中返回
            Map map = new HashMap();
            map.put("error",0);
            map.put("url",url);
            return map;
        }catch(Exception e){
            //先打印异常信息
            e.printStackTrace();
            //出现异常说明上传失败了
            Map map = new HashMap();
            map.put("error",1);
            map.put("message","上传失败了");
            return map;
        }

    }
}

 



















































以上是关于图片上传过程的主要内容,如果未能解决你的问题,请参考以下文章

图片上传过程

layui 上传图片 实现过程

前端图片预览,上传前预览,兼容IE7891011,Firefox,Chrome

图片上传相关

图片上传存储策略

如何解决上传多张图片时遇到的oom问题