摘要:本文主要向大家介绍了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频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号