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