印刷問答為您提供印前,印中,印后以及設計的相關問題咨詢與解答,印刷案例規格及印刷報價,讓您實時了解在印刷中的各類相關問題及印后相關問題,并提供印刷時的注意事項,為您提供各類印前印后的相關問題解決方案
印刷問答 2022-09-21 14:14 219 0
由于現在手機像素普遍較高,隨手拍一張圖片都6、*M,十幾兆的圖片也并不罕見。如果這些未處理的圖片直接隨數據上傳向服務器,不但會占用更多的存儲空間,而且用戶也要等更久的時間,體驗性會差很多,同時更長的傳輸時間,也加大了問題發生的概率,直接決定了系統的生命力,可謂是生死攸關,基于這些情況,壓縮圖片并上傳的需求應運而生。
開源字節使用Thumbnails去掉圖片冗余信息,有效壓縮圖像,同時又不會損害圖像效果。同時直接返回圖片路徑,方便前臺調用。代碼如下:
* 通用上傳請求
@PostMapping("/common/upload")
public AjaxResult uploadFile(MultipartFile file) throws Exception
try
// 真實文件名
String realName = file.getOriginalFilename();
// 上傳文件路徑
String filePath = RuoYiConfig.getUploadPath();
// 上傳并返回新文件名稱
String fileName = FileUploadUtils.upload(filePath, file);
String url = domain + fileName;
AjaxResult ajax = AjaxResult.success();
ajax.put("fileName", fileName);
ajax.put("realName", realName);
ajax.put("url", url);
return ajax;
catch (Exception e)
return AjaxResult.error(e.getMessage());
* 文件上傳
* @param baseDir 相對應用的基目錄
* @param file 上傳的文件
* @param allowedExtension 上傳文件類型
* @return 返回上傳成功的文件名
* @throws FileSizeLimitExceededException 如果超出最大大小
* @throws FileNameLengthLimitExceededException 文件名太長
* @throws IOException 比如讀寫文件出錯時
* @throws InvalidExtensionException 文件校驗異常
public static final String upload(String baseDir, MultipartFile file, String[] allowedExtension)
throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException,
InvalidExtensionException
int fileNamelength = file.getOriginalFilename().length();
if (fileNamelength FileUploadUtils.DEFAULT_FILE_NAME_LENGTH)
throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH);
assertAllowed(file, allowedExtension);
String fileName = extractFilename(file);
File desc = getAbsoluteFile(baseDir, fileName);
// 如果是圖片,則壓縮
if (ImageCheck(file))
// 圖片大??;其中file.length()獲取的是字節,除以1024可以得到以kb為單位的文件大小
long size = file.getSize() / DEFAULT_SIZE;
// 圖片對象
BufferedImage bufferedImage = ImageIO.read(file.getInputStream());
// 圖片寬度
int width = bufferedImage.getWidth();
// 使用Thumbnailator實現圖片壓縮,通過大小與尺寸的判斷,保證圖片最優
float scale = 1f;
float quality = 1f;
// 如果像素寬度大于*000,則縮放到原圖一半大小,否則不改變尺寸
if(width *000){
scale = 0.*f;
// 如果像素寬度大于1*00,則縮放到原圖80%大小,否則不改變尺寸
if(width 1*00){
scale = 0.8f;
// 如果圖片大于*000kb,則壓縮到原圖的*0%質量
if(size *000){
quality = 0.*f;
// 如果圖片大于1000kb,則壓縮到原圖的80%質量
if(size 1000){
quality = 0.8f;
// 去掉圖片冗余信息后可以有效壓縮圖像,同時又不會損害圖像的有效信息。
Thumbnails.of(file.getInputStream())
.scale(scale) // 值在0到1之間,1f就是原圖大小,0.*就是原圖的一半大小
.outputQuality(quality) // 值也是在0到1,越接近于1質量越好,越接近于0質量越差
.toFile(desc);
}else{
file.transferTo(desc);
String pathFileName = getPathFileName(baseDir, fileName);
return pathFileName;
021yin.com/article/21*.html
公司長期不經營不去注銷的話稅務方面:企業不申報的情況:連續*個月未申報,專管員會把企業列如(非正常戶)企業非正常戶如果需要解除,需要罰款1000起,并補齊往年本應納稅申報才可以恢復。工商方面企業未做年報的情況:不做年報,工商列入經營異常名...
2023-04-12 178 0
適用行業:數碼產品行業(手機殼彩印、塑料制品外殼、家電面板); 裝潢裝飾行業(玻璃移門、瓷磚衛浴、家裝櫥柜、瓷磚背景畫); 禮品加工行業(畫室影樓、山水畫,石材金石畫、木材禮品盒); 廣告加工行業(亞克力、有機玻璃、廣告牌標牌、戶...
2023-04-07 167 0
有機玻璃字制作廠家,上海有機玻璃字制作公司為您提供有機玻璃字制作咨詢,有機玻璃字制作案例,有機玻璃字制作規格及有機玻璃字制作報價,讓您實時了解有機玻璃字制作廠家的最新規格及報價,并提供有機玻璃字制作時的注意事項,定制出讓您滿意的有機玻璃字制...
2023-03-21 199 0
021yin.com產品推薦及限制用途:主要用于非吸收性基材印刷。不作印刷以外的其他用途。九大領域整體應用解決方案GS-01復合里印專用水性油墨產品簡介:該產品是采用納米級有(無)機顏料、進口特種復合乳液和相關助劑,經過一定的反應而制...
2023-03-18 178 0
當我們看到UV打印機時,總會不由自主的想到:為什么它打印效果色彩真、速度快、操作簡單,同時又幾乎不受材料的限制呢?到底是什么賦予了uv打印機這個能力?UV打印機組成的關鍵部分有哪幾塊?總體上看UV打印機的結構主要是分為三個部分:內部結構、...
2023-03-08 152 0
本文暫時沒有評論,來添加一個吧(●'?'●)