nginx实现网站图片上载服务器.docx_第1页
nginx实现网站图片上载服务器.docx_第2页
nginx实现网站图片上载服务器.docx_第3页
nginx实现网站图片上载服务器.docx_第4页
nginx实现网站图片上载服务器.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

我这里就写两个例子:Eg1:电商网站分前台和后台,后台维护商品和供应商即后台上传图片前台展示,现在要求前台部署在A服务器,前台部署在B服务器上且用nginx做图片服务器并将nginx服务装在A服务器上,图片上传到A服务器本地xx文件夹下。这中情况就很简单,我们只需要将后台上传图片的url设置为A服务本地创建的xx文件,并修改conf/nginx.conf中server listen 80; server_name ; #charset koi8-r; #access_log logs/host.access.log main; location /ekaImage/ alias D:ekaImage; 前台访问时直接http:/A服务IP: ekaImage/XX/xx.jpg即可Eg2:后台服务部署在A服务器上,前台部署在B服务器,图片服务器部署在C服务器上我们是单独将图片上传写了个APP部署在C服务器然后后台上传图片是调C服务器部署的图片服务器应用提供的上传图片的方法并将图片存放在C服务器的本地文件夹xxx下且在nginx.conf里修改为C服务器IP,前台访问时直接按http:+C服务器IP+文件路径+图片路径图片服务器应用:package com.nginx.service;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.Iterator;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import mons.fileupload.FileItem;import mons.fileupload.FileItemFactory;import mons.fileupload.FileUploadException;import mons.fileupload.disk.DiskFileItemFactory;import mons.fileupload.servlet.ServletFileUpload;import org.apache.log4j.Logger;/* * Servlet implementation class nginxServlet */public class nginxServlet extends HttpServlet private Loggerlogger= Logger.getLogger(nginxServlet.class);private static final long serialVersionUID = 1L; /* * see HttpServlet#HttpServlet() */ public nginxServlet() super(); ( nginxServlet init . ); /* * see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ( nginxServlet doGet . );doPost(request,response);/* * see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ( nginxServlet doPost . );FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); try List items = upload.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext() FileItem item = (FileItem) iter.next(); if (item.isFormField() /普通文本信息处理 String paramName = item.getFieldName(); String paramValue = item.getString(); (paramName + : + paramValue); else /上传文件信息处理 String fileName = item.getName(); String filePath=; if(fileName.indexOf(/)!=-1) filePath = fileName.substring(0,fileName.lastIndexOf(/); fileName = fileName.substring(fileName.lastIndexOf(/),fileName.length(); (item : +item.getName(); ( fname : +fileName); ( path : +filePath); File f = new File(filePath); if(!f.exists() f.mkdirs(); byte data = item.get(); FileOutputStream fos = new FileOutputStream(item.getName(); fos.write(data); fos.close(); catch (FileUploadException e) logger.error( nginxServlet doPOST exception :+e.getMessage(); e.printStackTrace(); Web.xml: nginxServlet nginxServlet com.nginx.service.nginxServlet nginxServlet /nginxServlet 配置nginx/nginx.confserver listen 80; server_name ; #charset koi8-r; #access_log logs/host.access.log main; location /ekaImage/ alias /wls/ekaImage/; 后台服务代码:#图片服务器imgIp= 1/ekaImage 前台#图片上传到哪个地方uploadFilePath = /wls/ekaImage/#nginx图片服务器应用Nginxpath=1:8080/nginxService/nginxServlet后台上传图片调图片服务器1:8080/nginxService/nginxServlet如service:RequestMapping(value = uploadFile)ResponseBodypublic Map uploadFile(MultipartHttpServletRequest request, HttpServletResponse response, String type) throws IOExceptionMap map = new HashMap();SimpleDateFormat dateformat = new SimpleDateFormat(yyyy/MM/dd/HH);try MultipartHttpServletRequest multipartRequest = request;MultipartFile file = multipartRequest.getFile(file);String fileName = file.getOriginalFilename();String suffix = fileName.substring(fileName.lastIndexOf(.);String destFileName = new Date().getTime() + suffix;InputStream stream = file.getInputStream();/Nginx 图片服务器地址String serverPath = PropertiesUtil.getValue(nginxpath);String path = PropertiesUtil.getValue(uploadFilePath)+ dateformat.format(new Date();upload(serverPath,file.getInputStream(),path,destFileName);(-path-+path);String logoRealPathDir = path;(-logoRealPathDir 2 -+logoRealPathDir);String returnPath = logoRealPathDir +/ + destFileName;map.put(st

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论