// 图片存放位置
private final static String IMAGEPATH=“E:\bootstrap\image”;
//保存图片
@Transactional
public boolean saveFile(MultipartFile file, String uuid){
try{
File path = path(file.getContentType());
String filename = file.getOriginalFilename();
SysFile fileEntity = new SysFile();
fileEntity.setFileName(filename);
fileEntity.setUuid(uuid);
String storeaddress = path.getAbsolutePath();
fileEntity.setStoreaddress(storeaddress);
File saveFile = new File(path,uuid);
try {
fileRepository.save(fileEntity);
file.transferTo(saveFile);
return true;
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
return false;
}
}catch (Exception e){
System.out.println(“图片保存异常”);
return false;
}
}
//图片地址是否存在
private File path(String filename) {
File pat=new File(“E:\bootstrap”);
File path=new File(SysFileService.IMAGEPATH);
if(!pat.isDirectory()) {
pat.mkdir();
}
if(!path.isDirectory()) {
path.mkdir();
}
return path;
}
图片上传完成后返回的函数回调数据。包含一些图片上传信息以及后台返回信息。
上传完成后效果
| 性名 | 属性类型 | 描述说明 | 默认值 |
| — | — | — | — |
| language | String | 多语言设置,使用时需提前引入locales文件夹下对应的语言文件,中文zh,引入语言文件必须放在fileinput.js之后 | ‘en’ |
| showCaption | Boolean | 是否显示被选文件的简介 | true |
| showBrowse | Boolean | 是否显示浏览按钮 | true |
| showPreview | Boolean | 是否显示预览区域 | true |
| showRemove | Boolean | 是否显示移除按钮 | true |
| showUpload | Boolean | 是否显示上传按钮 | true |
| showCancel | Boolean | 是否显示取消按钮 | true |
| showClose | Boolean | 是否显示关闭按钮 | true |
| showUploadedThumbs | Boolean | | true |
| browseOnZoneClick | Boolean | | false |
| autoReplace | Boolean | 是否自动替换当前图片,设置为true时,再次选择文件, 会将当前的文件替换掉。 | false |
| generateFileId | Object | | null |
| previewClass | String | 添加预览按钮的类属性 | “” |
| captionClass | String | | “” |
| frameClass | String | | ‘krajee-default’ |
| mainClass | String | | ‘file-caption-main’ |
| mainTemplate | Object | | null |
| purifyHtml | Boolean | | true |
| fileSizeGetter | Object | | null |
| initialCaption | String | | “” |
| initialPreview | Array/Object | | [] |
| initialPreviewDelimiter | String | | ‘$$’ |
| initialPreviewAsData | Boolean | | false |
| initialPreviewFileType | String | | ‘image’ |
| initialPreviewConfig | Array/Object | | [] |
| initialPreviewThumbTags | Array/Object | | [] |
| previewThumbTags | Object | | {} |
| initialPreviewShowDelete | Boolean | | true |
| removeFromPreviewOnError | Boolean | | false |
| deleteUrl | String | 删除图片时的请求路径 | ‘’ |
| deleteExtraData | Object | 删除图片时额外传入的参数 | {} |
| overwriteInitial | Boolean | | true |
| previewZoomButtonIcons | Object | | {prev: ‘’,next: ‘’,toggleheader: ‘’,fullscreen: ‘’,borderless: ‘’,close: ‘’} |
| previewZoomButtonClasses | Object | | {prev: ‘btn btn-navigate’,next: ‘btn btn-navigate’,toggleheader: ‘btn btn-default btn-header-toggle’,fullscreen: ‘btn btn-default’,borderless: ‘btn btn-default’,close: ‘btn btn-default’} |
| preferIconicPreview | Boolrean | | false |
| preferIconicZoomPreview | Boolrean | | false |
| allowedPreviewTypes | undefined | | undefined |
| allowedPreviewMimeTypes | Object | | null |
| allowedFileTypes | Object | 接收的文件后缀,如[‘jpg’, ‘gif’, ‘png’],不填将不限制上传文件后缀类型 | null |
| allowedFileExtensions | Object | | null |
| defaultPreviewContent | Object | | null |
| customLayoutTags | Object | | {} |
| customPreviewTags | Object | | {} |
| previewFileIcon | String | | ‘’ |
| previewFileIconClass | String | | ‘file-other-icon’ |
| previewFileIconSettings | Object | | {} |
| previewFileExtSettings | Object | | {} |
| buttonLabelClass | String | | ‘hidden-xs’ |
| browseIcon | String | | ’ ’ |
| browseClass | String | | ‘btn btn-primary’ |
| removeIcon | String | | ‘’ |
| removeClass | String | | ‘btn btn-default’ |
| cancelIcon | String | | ‘’ |
| cancelClass | String | | ‘btn btn-default’ |
| uploadIcon | String | | ‘’ |
| uploadClass | String | | ‘btn btn-default’ |
| uploadUrl | String | 上传文件路径 | null |
| uploadAsync | boolean | 是否为异步上传 | true |
| uploadExtraData | Object | 上传文件时额外传递的参数设置 | {} |
| zoomModalHeight | number | | 480 |
| minImageWidth | String | 图片的最小宽度 | null |
| minImageHeight | String | 图片的最小高度 | null |
| maxImageWidth | String | 图片的最大宽度 | null |
| maxImageHeight | String | 图片的最大高度 | null |
| resizeImage | boolean | | false |
| resizePreference | String | | ‘width’ |
| resizeQuality | number | | 0.92 |
| resizeDefaultImageType | String | | ‘image/jpeg’ |
| minFileSize | number | 单位为kb,上传文件的最小大小值 | 0 |
| maxFileSize | number | 单位为kb,如果为0表示不限制文件大小 | 0 |
| resizeDefaultImageType | number | | 25600(25MB) |
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
最后,附一张自己面试前准备的脑图:
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
- Java核心知识整理
- Spring全家桶(实战系列)
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
最后祝愿各位身体健康,顺利拿到心仪的offer!
题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
[外链图片转存中…(img-vNLslzMv-1711383034669)]
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
最后祝愿各位身体健康,顺利拿到心仪的offer!