亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Nginx > 正文

Nginx代理輸出縮放圖片的方法

2024-08-30 12:24:18
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Nginx代理輸出縮放圖片的具體代碼,供大家參考,具體內容如下

nginx 配置文件:

# document ppt convert Configuration.upstream document.polyv.net { server 127.0.0.1:8080;}server { listen 80; server_name document.polyv.net; index index.html index.htm; charset utf-8; client_max_body_size 1000m; # ignore favicon.ico not exist. location = /favicon.ico {  log_not_found off;  access_log off; } # not allow to visit hidden files. location ~ //. {  deny all;  access_log off;  log_not_found off; } location / {  if ($request_filename ~* ^.*?/.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$) {   add_header Content-Disposition: 'attachment;';   add_header Content-Type: 'APPLICATION/OCTET-STREAM';  }  proxy_pass http://document.polyv.net;  proxy_set_header X-Real-IP $remote_addr;  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  proxy_set_header REQUEST_HOST $host;  # include proxy.conf;  charset UTF-8; } # user upload files location /images/ {   #expires 7d;  alias /data03/ovp/blobs/;   proxy_store on;   proxy_store_access user:rw group:rw all:rw;   proxy_set_header Accept-Encoding "";   if ( !-f $request_filename ) {    proxy_pass http://document.polyv.net;   } } location /blobs/ {   #expires 7d;  alias /data03/ovp/blobs/; }  location /preview/images/ {   #expires 7d;   alias /data03/ovp/blobs/;   proxy_store on;   proxy_store_access user:rw group:rw all:rw;   proxy_set_header Accept-Encoding "";   if ( !-f $request_filename ) {    proxy_pass http://document.polyv.net;   }  }}

代理輸出縮放圖片

package com.document.handle.controller;import java.io.BufferedInputStream;import java.io.File;import java.io.IOException;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Controller;import org.springframework.web.bind.ServletRequestUtils;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import com.document.tool.ImageMagickUtils;import com.document.tool.SystemConfig;@Controllerpublic class ImageAgentController { private static final Logger LOG = LoggerFactory.getLogger(ImageAgentController.class); /**  * ppt預覽圖片代理輸出  * @throws IOException  */ @RequestMapping("/preview/images/{year}/{month}/{md5id}/{preview}/{filename}.{ext}") public void cropImage(@PathVariable String year, @PathVariable String month, @PathVariable String md5id,   @PathVariable String preview, @PathVariable String filename, @PathVariable String ext,   HttpServletRequest request, HttpServletResponse response) throws IOException {  // String rootDir = "/data03/ovp/blobs/";  String rootDir = SystemConfig.getBlobDirectory();  String oname = filename.substring(1, filename.length());// 原圖文件名  String dirString = rootDir + year + "/" + month + "/" + md5id + "/" + oname + "." + ext;  String targetFileString = rootDir + year + "/" + month + "/" + md5id + "/preview/" + filename + "." + ext;  //如果原圖存在  File originImage = new File(oname);  if(originImage.exists()){   LOG.info("corpImage..." + dirString + " -> " + targetFileString);   File newfile = new File(targetFileString);   String pathString = newfile.getParent();   LOG.info("pathString...{} {}", pathString);   File pathFile = new File(pathString);   if (!pathFile.exists()) {    LOG.info("---create file---");    pathFile.mkdirs();   }   boolean status = ImageMagickUtils.scale(dirString, targetFileString, 240, 180);   if (status) {    response.reset();    response.setContentType("image/" + ext);    java.io.InputStream in = new java.io.FileInputStream(targetFileString);    // FilenameUrlUtils.getImageFilename(targetFileString);    if (in != null) {     byte[] b = new byte[1024];     int len;     while ((len = in.read(b)) != -1) {      response.getOutputStream().write(b);     }     in.close();    }   }  }else{   LOG.info("原圖目錄不存在-preview:{}",dirString);   } } /**  * ppt固定尺寸圖片代理輸出  * @throws IOException  * http://document.polyv.net/images/2016/03/de37d2ceb11ac068c18c5e4428541075/jpg-3/1000x540.png  *  * http://document.polyv.net/images/2016/03/de37d2ceb11ac068c18c5e4428541075/jpg-3.png  */ @RequestMapping("/images/{year}/{month}/{md5id}/{filename}/{width}x{height}.{ext}") public void cropfixedImage(@PathVariable String year, @PathVariable String month, @PathVariable String md5id,   @PathVariable String filename, @PathVariable Integer width, @PathVariable Integer height, @PathVariable String ext,   HttpServletRequest request, HttpServletResponse response) throws IOException {  // String rootDir = "/data03/ovp/blobs/";  String rootDir = SystemConfig.getBlobDirectory();  //String oname = filename.substring(1, filename.length());// 原圖文件名  String dirString = rootDir + year + "/" + month + "/" + md5id + "/" + ( filename + "." + ext);  String targetFileString = rootDir + year + "/" + month + "/" + md5id + "/" + filename + "/" + (width + "x" + height + "." + ext);  //如果原圖存在  File originImage = new File(dirString);  if(originImage.exists()){   File targetFileStringFile = new File(targetFileString);   if(!targetFileStringFile.exists()){    LOG.info("corpImage..." + dirString + " -> " + targetFileString);    File newfile = new File(targetFileString);    String pathString = newfile.getParent();    LOG.info("pathString...{} {}", pathString);    File pathFile = new File(pathString);    if (!pathFile.exists()) {     LOG.info("---create file---");     pathFile.mkdirs();    }    ImageMagickUtils.resizeWH(dirString, targetFileString,width,height);   }   response.setContentType("image/" + ext);   java.io.InputStream in = null;   try{    in = new java.io.FileInputStream(targetFileString);    response.setContentLength(in.available());    byte[] buffer = new byte[1024];    int count = 0;    while ((count = in.read(buffer)) > 0) {     response.getOutputStream().write(buffer, 0, count);    }    response.flushBuffer();   }catch(Exception e){    e.printStackTrace();   }finally {    try {     in.close();    } catch (Exception e) {    }   }  }else{   LOG.info("原圖目錄不存在:{}",dirString);  } } /**  * 圖片下載  */ @RequestMapping("get/image/data") public void downloadImage(HttpServletRequest request, HttpServletResponse response) throws IOException {   String filePath = ServletRequestUtils.getStringParameter(request, "filePath", ""); //圖片訪問路勁  String fileName = ServletRequestUtils.getStringParameter(request, "fileName", ""); //名稱  if(StringUtils.isNotBlank(filePath) || StringUtils.isNotBlank(fileName)){   String destUrl = filePath;   //LOG.info("--------------"+filePath);    String fileFormat=filePath.substring(filePath.lastIndexOf("."));   //String name=fileName.trim()+fileFormat;   String name=filePath.substring(filePath.lastIndexOf("/")+1, filePath.length());    //File f = new File(filePath);   //response.setHeader("Content-Disposition", "attachment; filename="+java.net.URLEncoder.encode(f.getName(),"UTF-8"));    //LOG.info("--------------"+f.getName());   // 建立鏈接    URL url = new URL(destUrl);    HttpURLConnection httpUrl = (HttpURLConnection) url.openConnection();    // 連接指定的資源    httpUrl.connect();    // 獲取網絡輸入流    BufferedInputStream bis = new BufferedInputStream(httpUrl.getInputStream());    Integer lenf=httpUrl.getContentLength();   //String lenf=this.getFileLength(4189053, 7189053);   response.setContentType("application/x-msdownload");    response.setHeader("Content-Length", lenf.toString());//文件大小值5幾M   response.setHeader("Content-Disposition", "attachment; filename="+java.net.URLEncoder.encode(name,"UTF-8"));   OutputStream out = response.getOutputStream();   byte[] buf = new byte[1024];    if (destUrl != null) {     BufferedInputStream br = bis;     int len = 0;     while ((len = br.read(buf)) > 0){      out.write(buf, 0, len);     }         br.close();    }    out.flush();    out.close();   } } }            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成人免费全部| 亚洲自拍欧美另类| 91美女高潮出水| 亚洲自拍在线观看| 国产精品视频色| 欧美性生交大片免费| 亚洲精品理论电影| 亚洲欧美中文日韩v在线观看| 国产精品88a∨| 久久久久久久香蕉网| 这里只有视频精品| 青青草一区二区| 欧美激情网站在线观看| 亚洲成色777777在线观看影院| 国产精品视频最多的网站| 91社影院在线观看| 青青草成人在线| 中文字幕亚洲综合久久| 久久av.com| 日韩在线中文字幕| 社区色欧美激情 | 亚洲国产精品va在线看黑人动漫| 国产在线观看精品一区二区三区| 亚洲综合自拍一区| 日韩免费av片在线观看| 国产精品电影观看| 欧美日韩在线视频一区二区| 精品国产一区二区三区久久狼黑人| 欧美日韩另类视频| 欧美床上激情在线观看| 亚洲在线www| 成人黄色生活片| 久久精品视频va| 国产狼人综合免费视频| 国产国产精品人在线视| 57pao国产精品一区| 91久久精品国产91久久| 日本精品中文字幕| www.国产一区| 亚洲黄色成人网| 青青草99啪国产免费| 成人av在线天堂| 午夜精品一区二区三区av| 亚洲欧美综合图区| 国产美女精品免费电影| 亚洲性视频网址| 亚洲国产小视频| 中文字幕久热精品在线视频| 永久555www成人免费| www.亚洲男人天堂| 国产精品久久97| 欧美成人免费小视频| 欧美日韩亚洲网| 欧美视频免费在线观看| 欧亚精品在线观看| 国内精品小视频| zzjj国产精品一区二区| 日韩一区视频在线| 国产精品久久久久免费a∨| 久久韩剧网电视剧| 日本精品一区二区三区在线| 久久久久久国产精品美女| 午夜精品www| 中文字幕国内精品| 国外成人免费在线播放| 欧美日韩亚洲激情| 欧美电影在线播放| 欧美日韩亚洲精品一区二区三区| 国产v综合v亚洲欧美久久| 亚洲视频在线观看视频| 亚洲国产精久久久久久久| 欧洲中文字幕国产精品| 国产精品福利无圣光在线一区| 国产精品成人av在线| 97精品国产97久久久久久| 亚洲一区二区中文| 亚洲性69xxxbbb| 国产剧情日韩欧美| 人人爽久久涩噜噜噜网站| 九九热精品视频国产| 久久精品视频99| 国产91九色视频| 欧洲成人性视频| 欧美有码在线观看| 国产精品视频1区| 日韩亚洲在线观看| 奇米4444一区二区三区| 国产一区二区三区直播精品电影| 久久艹在线视频| 成人h视频在线观看播放| 日韩精品免费一线在线观看| 97在线精品视频| 欧美性猛交99久久久久99按摩| 国产成+人+综合+亚洲欧洲| 久久精品视频va| 51ⅴ精品国产91久久久久久| 久久成人av网站| 夜夜狂射影院欧美极品| 色综合亚洲精品激情狠狠| 日韩高清免费观看| 久热精品视频在线观看| 日韩精品日韩在线观看| 亚洲乱码国产乱码精品精| 久久国产精品久久国产精品| 日本免费一区二区三区视频观看| 欧美成人三级视频网站| 在线免费观看羞羞视频一区二区| 成人在线一区二区| 日韩欧美高清在线视频| 国产97人人超碰caoprom| 亚洲黄页网在线观看| 亚洲最大福利视频网| 精品国产福利视频| 亚洲国产成人久久综合一区| 精品国产91乱高清在线观看| 色婷婷**av毛片一区| 最近2019年好看中文字幕视频| 97精品国产97久久久久久免费| 欧美在线观看视频| 亚洲激情中文字幕| 97视频在线观看成人| 日韩av在线网| 欧美精品做受xxx性少妇| 久久久久久久久久亚洲| 国产一区二区三区视频在线观看| 欧美乱妇高清无乱码| 亚洲黄色av女优在线观看| 国产一区二区激情| 国产国产精品人在线视| 亚洲国产精品悠悠久久琪琪| 黑人精品xxx一区一二区| 亚洲美女在线观看| 国产精品美女www| 搡老女人一区二区三区视频tv| 羞羞色国产精品| 久久精品视频导航| 日韩中文在线不卡| 欧美视频专区一二在线观看| 成人激情视频在线| 国产成人精品国内自产拍免费看| 欧美国产乱视频| 欧美肥臀大乳一区二区免费视频| 性色av香蕉一区二区| 国产香蕉一区二区三区在线视频| 亚洲美女在线观看| 91美女片黄在线观看游戏| 欧美黑人性视频| 亚洲人a成www在线影院| 91麻豆国产语对白在线观看| www.亚洲天堂| 日本久久亚洲电影| 国产精品永久免费观看| 成人高清视频观看www| 精品福利在线看| 国产视频久久久久| 日本欧美精品在线| 成人精品久久久| 国内免费久久久久久久久久久| 在线视频免费一区二区| 亚洲专区国产精品| 日产精品99久久久久久| 精品国模在线视频| 91社区国产高清| 亚洲精品中文字幕有码专区|