`
- 浏览:
178050 次
- 性别:
- 来自:
深圳
-
- SERVLET
-
packagecom.bjsxt.shopping.servlet;
-
importjava.io.File;
-
importjava.io.IOException;
-
importjava.io.PrintWriter;
-
importjava.util.Iterator;
-
importjava.util.List;
-
importjavax.servlet.ServletConfig;
-
importjavax.servlet.ServletException;
-
importjavax.servlet.http.HttpServlet;
-
importjavax.servlet.http.HttpServletRequest;
-
importjavax.servlet.http.HttpServletResponse;
-
importorg.apache.commons.fileupload.FileItem;
-
importorg.apache.commons.fileupload.FileUploadException;
-
importorg.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException;
-
importorg.apache.commons.fileupload.disk.DiskFileItemFactory;
-
importorg.apache.commons.fileupload.servlet.ServletFileUpload;
-
publicclassFileUploadServletextendsHttpServlet
- {
-
-
privateStringupLoadPath="";
-
@Override
-
-
publicvoidinit(ServletConfigconfig)throwsServletException
- {
-
this.upLoadPath=config.getInitParameter("upload");
- }
-
privatestaticfinallongserialVersionUID=1L;
-
publicFileUploadServlet()
- {
-
super();
- }
-
protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException
- {
-
this.doPost(request,response);
- }
-
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException
- {
-
request.setCharacterEncoding("utf-8");
-
intid=-1;
-
finallongMAX_SIZE=300*1024*1024;
-
-
finalString[]allowedExt=newString[]{"jpg","jpeg","gif","txt","doc","mp3","wma","m4a","rar","zip"};
-
response.setContentType("text/html");
-
-
response.setCharacterEncoding("UTF-8");
-
-
DiskFileItemFactorydfif=newDiskFileItemFactory();
-
dfif.setSizeThreshold(4096);
-
dfif.setRepository(newFile(request.getRealPath("/")+"ImagesUploadTemp"));
-
-
ServletFileUploadsfu=newServletFileUpload(dfif);
-
- sfu.setSizeMax(MAX_SIZE);
- PrintWriterout=response.getWriter();
-
-
ListfileList=null;
-
try
- {
- fileList=sfu.parseRequest(request);
-
}catch(FileUploadExceptione)
-
{
-
if(einstanceofSizeLimitExceededException)
- {
-
out.println("文件尺寸超过规定大小:"+MAX_SIZE+"字节<p/>");
-
out.println("<ahref=\"./admin/manager/productlist.jsp\">返回</a>");
-
return;
- }
- e.printStackTrace();
- }
-
-
if(fileList==null||fileList.size()==0)
- {
-
out.println("请选择上传文件<p/>");
-
out.println("<ahref=\"./admin/manager/productlist.jsp\">返回</a>");
-
return;
- }
-
- IteratorfileItr=fileList.iterator();
-
-
while(fileItr.hasNext())
- {
-
FileItemfileItem=null;
-
Stringpath=null;
-
longsize=0;
-
- fileItem=(FileItem)fileItr.next();
-
-
if(fileItem!=null&&fileItem.isFormField())
- {
-
if(fileItem.getFieldName().equals("id"))
- {
- id=Integer.parseInt(fileItem.getString());
- }
- }
-
if(fileItem!=null&&!fileItem.isFormField())
- {
-
- path=fileItem.getName();
-
- size=fileItem.getSize();
-
if("".equals(path)||size==0)
- {
-
out.println("请选择上传文件<p/>");
-
out.println("<ahref=\"./admin/manager/productlist.jsp\">返回</a>");
-
return;
- }
-
-
Stringt_name=path.substring(path.lastIndexOf("\\")+1);
-
-
Stringt_ext=t_name.substring(t_name.lastIndexOf(".")+1);
-
-
intallowFlag=0;
-
intallowedExtCount=allowedExt.length;
-
for(;allowFlag<allowedExtCount;allowFlag++)
- {
-
if(allowedExt[allowFlag].equals(t_ext))
-
break;
- }
-
if(allowFlag==allowedExtCount)
- {
-
out.println("请上传以下类型的文件<p/>");
-
for(allowFlag=0;allowFlag<allowedExtCount;allowFlag++)
-
out.println("*."+allowedExt[allowFlag]+"");
-
out.println("<p/><ahref=\"./admin/manager/productlist.jsp\">返回</a>");
-
return;
- }
-
-
-
-
-
-
-
-
-
try
- {
-
-
-
fileItem.write(newFile(upLoadPath+id+"."+"jpg"));
-
-
out.println("文件上传成功.已保存到:"+upLoadPath+id+"."+"jpg"+"文件大小:"+size+"字节<p/>");
-
out.println("<ahref=\"./admin/manager/productlist.jsp\">继续上传</a>");
-
}catch(Exceptione)
- {
- e.printStackTrace();
- }
- }
- }
- }
- }
- WEB.XML中写入下面的内容:
- <servlet>
- <description>ThisisthedescriptionofmyJ2EEcomponent</description>
- <display-name>ThisisthedisplaynameofmyJ2EEcomponent</display-name>
- <servlet-name>FileUploadServlet</servlet-name>
-
<servlet-class>com.bjsxt.shopping.servlet.FileUploadServlet</servlet-class>
- <init-param>
- <param-name>upload</param-name>
- <param-value>E:\\workspace\\MyProjest\\Shopping\\WebRoot\\images\\product\\</param-value>
- </init-param>
- </servlet>
- 其实最好的方法是增加一下属性文件,把要上传的路径写到该文件中,要上传时再从中读取这个路径
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
SWFUpload是一款经典的JavaScript与Flash结合的文件上传插件,尤其适用于处理图片上传。它允许用户在网页上实现批量和单个图片的上传功能,提高了用户体验,并且在处理大量文件时,比传统的表单提交方式更为高效。...
在IT行业中,图片上传是网页应用中常见的功能之一,尤其在社交网络、博客系统或电商平台等,用户常常需要上传图片来展示内容。"图片上传前预览和操作图片"这个主题涉及的技术点主要包括图片预览、图片操作以及上传...
在IT行业中,图片上传是网页和应用程序中常见的一项功能,特别是在社交媒体、电商平台、内容创作平台等。"图片上传样式美化"是指通过各种技术手段优化图片上传界面,使其更具吸引力,提高用户体验。以下将详细探讨这...
1. 预览:UEditor在图片上传过程中会生成一个临时的本地URL,用户可以在编辑器中预览图片,直到服务器返回最终的URL。 2. 错误处理:如果上传失败,UEditor会显示错误提示。开发者可以自定义错误处理函数,根据...
在Android应用开发中,图片上传是一项常见的功能,但直接上传图片文件可能会遇到各种编码问题,如格式不兼容、网络传输中的数据损坏等。为了解决这些问题,开发者常常选择将图片转换为Base64编码后再进行上传。Base...
在IT行业中,多图片上传程序是一种常见的功能,尤其在社交媒体、电子商务、内容管理系统等网站上。这个程序提供了用户一次上传多个图片的能力,极大地提升了用户体验。本文将深入探讨多图片上传功能的技术实现,以及...
在这个场景中,我们使用AJAX(Asynchronous JavaScript and XML)和jQuery库来实现无刷新的图片上传,提供更好的用户体验。 AJAX是一种在无需重新加载整个网页的情况下更新部分网页的技术。通过JavaScript,我们...
#### 一、图片上传及处理概述 在现代Web应用中,用户上传图片的功能十分常见。为了优化用户体验并减轻服务器存储压力,通常会在图片上传后进行一系列处理,如压缩、缩放等。本文将重点介绍如何使用Java语言对上传的...
本项目是一个基于Java开发的图片上传工具,旨在提供一种高效、安全且易于使用的解决方案,帮助用户实现网络上的图片资源上传功能。下面我们将深入探讨这个工具涉及到的核心知识点。 1. **Java Servlet与HTTP请求...
【JSP实现将图片上传到数据库】的知识点涵盖了图片上传的基本原理、文件上传组件的使用、JSP中处理图片数据的流程以及服务器端文件的存储形式。以下是详细说明: 1. **图片上传原理**: 图片上传是客户端通过Web...
在构建一个多图片上传系统时,我们需要考虑许多关键技术和最佳实践。这个系统旨在提供用户友好的界面,同时确保数据的安全性和高效性。以下是一些核心知识点的详细说明: 1. **前端界面设计**:多图片上传系统的第...
本资源"asp图片上传无错版"提供了一个经过调试、稳定运行的图片上传解决方案。 首先,我们需要理解ASP图片上传的基本流程: 1. **HTML表单设计**:创建一个包含`<input type="file">`的表单,用户可以通过这个字段...
7. **API集成**:图片上传组件最终需要与后端接口进行通信,将文件发送到服务器。这涉及到HTTP请求,通常是POST请求,可能还需要设置请求头和表单数据。 8. **状态管理**:组件需要维护图片的上传状态(如未上传、...
这个“asp视频及文件图片上传”主题涵盖了如何在ASP环境中处理用户通过表单提交的多媒体文件,包括视频、图片和其他类型的文件。下面将详细介绍这一过程涉及的关键知识点。 1. **ASP基础**:ASP是一种服务器端脚本...
在本项目中,"Jquery 表单验证+本地图片上传-切割-预览"是一个综合性的前端开发实例,它涵盖了几个重要的JavaScript库和技术,包括jQuery、表单验证、图片上传、图片切割以及预览功能。以下是这些知识点的详细解释:...
在开发涉及图片上传功能的Web应用时,经常会遇到上传成功后页面不自动刷新的问题。这通常是因为浏览器缓存了图片请求,使得即便图片内容已经更新,浏览器显示的还是缓存中的旧图片。为了解决这个问题,通常会通过在...
在IT行业中,手写单张图片上传功能是一个常见的需求,特别是在网页应用开发中。这个功能通常涉及前端用户界面、后端服务器处理以及可能的数据存储。在这个场景中,使用jsp(JavaServer Pages)作为前端页面,action...
该功能主要针对移动端用户,提供了便捷的图片上传、压缩及旋转处理。以下是一些相关知识点: 1. Vue.js框架:Vue是一套用于构建用户界面的渐进式JavaScript框架,主要用于开发单页面应用程序(SPA)。它允许开发者...
这个“java图片ssm上传.rar”压缩包文件包含了一个使用SSM实现图片上传功能的示例项目。下面,我们将深入探讨这个主题,讲解如何在Java环境下,利用SSM框架进行图片上传,并涉及相关技术点。 1. **Spring框架**:...
在IT领域,图片上传和截取是常见的交互功能,尤其在网络应用中,用户可能需要上传自己的照片或截图来完成各种操作。"上传图片截取JS"这个标题所指的,就是利用JavaScript(简称JS)技术实现图片上传和图片裁剪的功能...