JAVA语言代码实现图片上传至本地功能
小标 2019-01-18 来源 : 阅读 1937 评论 0

摘要:本文主要向大家介绍了JAVA语言代码实现图片上传至本地功能,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言代码实现图片上传至本地功能,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

在工作中要求将图片上传至本地,如下代码将介绍如何将图片上传至本地


准备工作:


环境:eclipse4.5-x64,jdk1.7-x64,maven3


tomcat服务器配置图片上传映射:




上传至本地服务器配置文件:image.properties


#\u672c\u5730\u670d\u52a1\u5668\u56fe\u7247\u4fdd\u5b58\u8def\u5f84

IMAGEPATH=/mall/upload/image/

 

#\u56fe\u7247\u540e\u7f00\u540d

FILE_EXTEND_NAME=gif,jpg,jpeg,png,bmp

 

#\u672c\u5730\u670d\u52a1\u5668\u89c6\u9891\u5b58\u50a8\u5730\u5740

MEDIAPATH=/mall/upload/media/

 

#\u89c6\u9891\u540e\u7f00\u540d

MEDIA_EXTEND_NAME=mp4

   


controlle:UploadUtil.java


/**

 * 文件上传工具类

 * @author  sang

 */

@Controller

public class UploadUtil {

    /** 记录日志对象 */

    private static final MyLogger LOGGER = new MyLogger(UploadUtil.class);

    /**图片格式错误信息*/

    private static final String LOGGERINFO1 = "的图片不符合限制";

    /**

     * 备注:

     * uploadImgLocal,uploadImgOSS,ossConfMapper均是静态成员变量

     * 则添加注解注意只能用@Autowired且get,set方法不能有static否则报错

     * */

    /**文件上传:本地,注意*/

    private static UploadImgLocal uploadImgLocal;

    /**文件上传:OSS对象 */

    private static UploadImgOSS uploadImgOSS;

    /**OSS配置查询 */

    private static OSSConfMapper ossConfMapper;

 

    public UploadImgLocal getUploadImgLocal() {

        return uploadImgLocal;

    }

    @Autowired

    public void setUploadImgLocal(UploadImgLocal uploadImgLocal) {

        UploadUtil.uploadImgLocal = uploadImgLocal;

    }

 

    public UploadImgOSS getUploadImgOSS() {

        return uploadImgOSS;

    }

    @Autowired

    public void setUploadImgOSS(UploadImgOSS uploadImgOSS) {

        UploadUtil.uploadImgOSS = uploadImgOSS;

    }

 

    public OSSConfMapper getOssConfMapper() {

        return ossConfMapper;

    }

    @Autowired

    public void setOssConfMapper(OSSConfMapper ossConfMapper) {

        UploadUtil.ossConfMapper = ossConfMapper;

    }

 

     

    /**

     * 上传文件:去除85这个宽度

     * @param muFile 上传文件

     * @param req

     * @return Map 返回中 key值{0,1,2,oldimg} 0小图 1中图 2大图 oldimg原图

     */

    public static synchronized Map<string, string=""> uploadFile(MultipartFile muFile,HttpServletRequest req) {

        Map<string, string=""> map = null;

        try {

            //查询oss启用状态的配置信息

            OSSConf ossConf=ossConfMapper.findByOssStatus();

            if(muFile != null && muFile.getSize()>0 && ossConf!=null) {

                //检查上传的图片的大小和扩展名

                if (!UploadImgCommon.checkFileForSpringUpload(muFile)) {

                    throw new RuntimeException("上传" + muFile.getOriginalFilename() + LOGGERINFO1);

                }

                //oss类型0本地1阿里云2京东云

                String ossType=ossConf.getOssType();

                if("0".equals(ossType)){

                    //上传本地

                    map = uploadImgLocal.uploadForABCSize(muFile);

                }else if("1".equals(ossType) || "2".equals(ossType)){

                    //上传oss

                    map=uploadImgOSS.uploadForABCSize(muFile,ossConf);

                }

            }

        } catch (Exception e) {

            e.printStackTrace();

            LOGGER.error("上传文件失败"+e.getMessage(),e);

        }

        return map;

    }

 

}</string,></string,>

   


类:UploadImgLocal.java


/**

 * 上传文件:本地

 * @author somnus

 *

 */

@Component("uploadImgLocal")

public class UploadImgLocal {

    /** 记录日志对象 */

    private static final MyLogger LOGGER = new MyLogger(UploadImgLocal.class);

    /**获得当前项目访问的地址 */

    private static String url;

    @Resource(name = "SysHelperMapper")

    private SysHelperMapper sysHelperMapper;

 

    /**

     * 上传文件:去除85这个宽度

     * 存储原图地址如:https://127.0.0.1:8080:/mall/upload/image/20170804/1501811601145.jpg

     * @param muFile

     * @return Map 返回中 key值{0,1,2,oldimg} 0小图 1中图 2大图 oldimg原图

     */

    public Map<string, string=""> uploadForABCSize(MultipartFile muFile) {

        //封装结果集

        Map<string, string=""> imgMap = new HashMap<string, string="">();

        //服务器本地保存图片路径

        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

        //获得当前项目访问的地址:https://127.0.0.1:8080

        url=UploadImgCommon.getHttpAndPort(request);

        //获取上传文件的保存路径:文件拼接地址:服务器本地保存路径+文件名+后缀

        String fileNamess = UploadImgCommon.getPicNamePathSuffix();

        try {

            File file = new File(fileNamess);


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 1
看完这篇文章有何感觉?已经有2人表态,50%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程