印刷問答為您提供印前,印中,印后以及設(shè)計的相關(guān)問題咨詢與解答,印刷案例規(guī)格及印刷報價,讓您實時了解在印刷中的各類相關(guān)問題及印后相關(guān)問題,并提供印刷時的注意事項,為您提供各類印前印后的相關(guān)問題解決方案
印刷問答 2022-09-21 14:14 122
由于現(xiàn)在手機像素普遍較高,隨手拍一張圖片都6、*M,十幾兆的圖片也并不罕見。如果這些未處理的圖片直接隨數(shù)據(jù)上傳向服務(wù)器,不但會占用更多的存儲空間,而且用戶也要等更久的時間,體驗性會差很多,同時更長的傳輸時間,也加大了問題發(fā)生的概率,直接決定了系統(tǒng)的生命力,可謂是生死攸關(guān),基于這些情況,壓縮圖片并上傳的需求應(yīng)運而生。
開源字節(jié)使用Thumbnails去掉圖片冗余信息,有效壓縮圖像,同時又不會損害圖像效果。同時直接返回圖片路徑,方便前臺調(diào)用。代碼如下:
* 通用上傳請求
@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 相對應(yīng)用的基目錄
* @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))
// 圖片大?。黄渲衒ile.length()獲取的是字節(jié),除以1024可以得到以kb為單位的文件大小
long size = file.getSize() / DEFAULT_SIZE;
// 圖片對象
BufferedImage bufferedImage = ImageIO.read(file.getInputStream());
// 圖片寬度
int width = bufferedImage.getWidth();
// 使用Thumbnailator實現(xiàn)圖片壓縮,通過大小與尺寸的判斷,保證圖片最優(yōu)
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%質(zhì)量
if(size *000){
quality = 0.*f;
// 如果圖片大于1000kb,則壓縮到原圖的80%質(zhì)量
if(size 1000){
quality = 0.8f;
// 去掉圖片冗余信息后可以有效壓縮圖像,同時又不會損害圖像的有效信息。
Thumbnails.of(file.getInputStream())
.scale(scale) // 值在0到1之間,1f就是原圖大小,0.*就是原圖的一半大小
.outputQuality(quality) // 值也是在0到1,越接近于1質(zhì)量越好,越接近于0質(zhì)量越差
.toFile(desc);
}else{
file.transferTo(desc);
String pathFileName = getPathFileName(baseDir, fileName);
return pathFileName;
021yin.com/article/21*.html
公司長期不經(jīng)營不去注銷的話稅務(wù)方面:企業(yè)不申報的情況:連續(xù)*個月未申報,專管員會把企業(yè)列如(非正常戶)企業(yè)非正常戶如果需要解除,需要罰款1000起,并補齊往年本應(yīng)納稅申報才可以恢復(fù)。工商方面企業(yè)未做年報的情況:不做年報,工商列入經(jīng)營異常名...
2023-04-12 101
適用行業(yè):數(shù)碼產(chǎn)品行業(yè)(手機殼彩印、塑料制品外殼、家電面板); 裝潢裝飾行業(yè)(玻璃移門、瓷磚衛(wèi)浴、家裝櫥柜、瓷磚背景畫); 禮品加工行業(yè)(畫室影樓、山水畫,石材金石畫、木材禮品盒); 廣告加工行業(yè)(亞克力、有機玻璃、廣告牌標牌、戶...
2023-04-07 98
有機玻璃字制作廠家,上海有機玻璃字制作公司為您提供有機玻璃字制作咨詢,有機玻璃字制作案例,有機玻璃字制作規(guī)格及有機玻璃字制作報價,讓您實時了解有機玻璃字制作廠家的最新規(guī)格及報價,并提供有機玻璃字制作時的注意事項,定制出讓您滿意的有機玻璃字制...
2023-03-21 117
021yin.com產(chǎn)品推薦及限制用途:主要用于非吸收性基材印刷。不作印刷以外的其他用途。九大領(lǐng)域整體應(yīng)用解決方案GS-01復(fù)合里印專用水性油墨產(chǎn)品簡介:該產(chǎn)品是采用納米級有(無)機顏料、進口特種復(fù)合乳液和相關(guān)助劑,經(jīng)過一定的反應(yīng)而制...
2023-03-18 133
當我們看到UV打印機時,總會不由自主的想到:為什么它打印效果色彩真、速度快、操作簡單,同時又幾乎不受材料的限制呢?到底是什么賦予了uv打印機這個能力?UV打印機組成的關(guān)鍵部分有哪幾塊?總體上看UV打印機的結(jié)構(gòu)主要是分為三個部分:內(nèi)部結(jié)構(gòu)、...
2023-03-08 100
掃一掃微信報價