- 浏览: 205379 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (231)
- C++学习 (41)
- vc学习 (25)
- vc异常 (4)
- Flex (2)
- Ext (0)
- java学习笔记 (15)
- mysql学习笔记 (1)
- ibatis学习笔记 (7)
- struts1学习笔记 (1)
- hibernate学习笔记 (3)
- javascript学习笔记 (8)
- eclipse快捷键 (2)
- 英语学习 (1)
- cmd (1)
- eclipse 配置 (2)
- 其他 (4)
- JAVASE (34)
- firefox (1)
- linux (8)
- Apache (6)
- cms (22)
- jsuc (10)
- html (3)
- css (1)
- 作图 (2)
- vs2012 (2)
- 编码转换 (12)
- work_unicode (1)
- work_webbrowser (1)
- work_trade_quotes_login (1)
- c#学习 (38)
- wpf学习 (31)
- wpf快速学习 (1)
- VB学习 (1)
- NSIS (4)
- log4cpp (3)
- 学习web (1)
- 经验 (1)
- c_汇编 (1)
最新评论
package cn.com.leadfar.cms.backend.view; import java.io.File; import java.io.IOException; import java.net.URLDecoder; import java.net.URLEncoder; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.FileUtils; import cn.com.leadfar.cms.backend.model.Attachment; public class AttachmentFilter implements Filter { @Override public void destroy() { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //判断请求的URI,是否包含"upload_image" //如果包含"upload_image",则从d:/temp/upload目录中读取相应的文件,并且把文件的数据流写入response HttpServletRequest req = (HttpServletRequest)request; HttpServletResponse resp = (HttpServletResponse)response; String requestURI = req.getRequestURI(); //因为路径中可能包含有经过编码的信息,所以需要将它转换为正确的字符串 requestURI = URLDecoder.decode(requestURI, request.getCharacterEncoding()); //indexOf返回值: //-1表示不包含这个字符串 //某个值,就表示这个字符串起始字符的索引 //requestURI的值,可能是:/cms/backend/upload_image/logo.gif int index = requestURI.indexOf("/upload_image/"); if(index != -1){ String imageName = requestURI.substring(index+"/upload_image/".length()); byte[] image = FileUtils.readFileToByteArray(new File(Attachment.ATTACHMENT_DIR+imageName)); response.setContentType("image/jpeg"); response.getOutputStream().write(image); return; } index = requestURI.indexOf("/upload_file/"); if(index != -1){ String fileName = requestURI.substring(index+"/upload_file/".length()); byte[] file = FileUtils.readFileToByteArray(new File(Attachment.ATTACHMENT_DIR+fileName)); response.setContentType("application/x-msdownload"); response.getOutputStream().write(file); return; } //让其他的请求通行! chain.doFilter(request, response); } @Override public void init(FilterConfig filterConfig) throws ServletException { } }
发表评论
-
贫血模式和充血模式
2013-03-06 14:36 1256贫血模式和充血模式 贫血模型:是指领域对象里只有get和 ... -
java的(PO,VO,TO,BO,DAO,POJO)解释
2013-03-06 14:34 640java的(PO,VO,TO,BO,DAO,POJO)解释 ... -
subString()包头不包尾。
2012-12-17 17:07 1769subString()包头不包尾。 -
文件上传进行封装
2012-12-12 17:37 905BaseServlet.java if(isMultipar ... -
网页显示附件链接提供下载,显示图片提供下载
2012-12-12 17:34 1030网页显示附件链接提供下载,显示图片提供下载 packag ... -
浏览选择文件
2012-12-12 17:22 831浏览选择文件 <input type=" ... -
后台编辑文章,插入图片,插入文章链接提供下载
2012-12-12 17:20 758function insertFile(value){ v ... -
文件上传
2012-12-07 14:56 773文件上传 < ... -
ckeditor使用
2012-12-07 13:50 689<script type="text/java ... -
反编译enum(转载)
2012-11-28 17:37 690public final class Gender exten ... -
枚举的七种用法(转载)
2012-11-28 17:34 743转载地址:http://softbeta.iteye.c ... -
滚动广告pptBox
2012-11-27 17:55 2299滚动广告pptBox /** * PPT 盒 ... -
javascript时钟倒计时(非原创)
2012-11-27 17:20 725/** * 模拟时钟 * @author lulu ... -
MyBatis生成GeneratedKeys
2012-11-27 15:55 1025生成GeneratedKeys<insert id=&q ... -
contentType,pageEncoding
2012-11-22 15:36 680contentType,pageEncoding -
BeanUtils
2012-11-22 15:36 611需要用到两个jar包:commons-beanutils.ja ... -
ThreadLocal
2012-11-22 15:34 532ThreadLocal 则保存其他线程各自的变量,不会相互影响 ... -
服务器端包含
2012-11-22 15:33 694<jsp:include page="Na ... -
编写jstl函数
2012-11-22 15:29 7221) 函数 package cn.com.leadfar. ... -
点击量统计
2012-11-21 17:22 888阅读:<script type="text/j ...
相关推荐
标题“根据附件的后缀名来显示相应的图标”涉及到的是计算机操作系统中的一种常见功能,即根据文件的扩展名(后缀名)来显示相应的图标。这个功能在Windows、macOS等操作系统中尤为常见,它有助于用户快速识别不同...
在IT行业中,文件图片预览、上传、下载和删除是常见的功能需求,广泛应用于各种Web应用和移动应用中。这些功能对于用户交互性和便捷性至关重要。以下是对这些知识点的详细说明: 1. **图片预览**: 图片预览是指在...
- 可以通过设置`Content-Type`和`Content-Disposition`头来指定文件类型和显示方式(直接显示还是作为附件下载)。 3. **错误处理**: - PHP提供了一系列错误代码,如`UPLOAD_ERR_OK`、`UPLOAD_ERR_INI_SIZE`等,...
在Web应用中,用户可能需要上传图片、文档或其他类型的文件。这通常通过HTML表单实现,表单中包含`<input type="file">`元素,允许用户选择本地文件。在后台,服务器端代码接收到文件数据并将其存储到服务器的某个...
在PHP中,文件上传和下载是两个非常重要的功能,它们在Web开发中有着广泛的应用,例如用户上传头像、分享文件或下载资源等。本文将详细介绍如何使用PHP实现这两个功能。 首先,我们从文件上传开始。PHP提供了`$_...
在IT行业中,文件上传是网页应用和服务端交互的一个基本功能,尤其在处理图片和附件时更为常见。"文件(图片、附件)上传cgh124"这一标题和描述可能是指一个具体的功能模块或者示例,它涉及到用户将图片、附件等数据...
- 与下载不同,响应头的`Content-Type`应设置为对应的图片MIME类型,如`image/jpeg`或`image/gif`,而不需要`Content-Disposition`,这样浏览器会直接显示图片,而不是作为附件下载。 - ASP.NET中可以使用`<img>`...
文件下载则相反,是从服务器获取文件并保存到本地的过程。可以通过设置HTTP响应头中的`Content-Disposition`字段,指示浏览器以下载方式处理响应。同时,需要关注文件的MIME类型,确保浏览器正确解析文件内容。 ...
.NET百度编辑器(UEditor)上传图片跟上次附件不成功的解决办法需要配置文件的正确设置、附件上传的参数设置、文件大小限制的设置等。通过正确的配置和设置,能够成功地上传图片和附件,提高工作效率和用户体验。 ...
【标题】"uEditor上传图片并保存为原文件名"涉及的是在ASP.NET环境中使用uEditor编辑器进行图片上传,并确保图片文件以上传时的原始文件名存储的过程。uEditor是一个流行的富文本编辑器,广泛应用于网站内容管理系统...
在IT领域,动态添加附件和上传文件是常见的功能需求,特别是在Web应用中。这个功能允许用户在界面上根据需要自由地增加附件,并一次性上传多个文件。以下是对这一主题的详细阐述: 1. **动态添加附件**: 这个过程...
创建一个名为`流程附件图片js.js`的脚本文件,这里主要编写JavaScript代码来处理图片的预览功能。这部分代码需要与泛微E9的API进行交互,获取到IMAGEDOCID对应的图片资源,并且在前端展示出来。同时,为了提供更好...
这些功能在Web应用中非常实用,可以用于上传用户资料、产品图片、报表文件等,以及提供各种文件的下载服务。开发者应当注意这些操作的安全性和性能影响,避免潜在的安全风险,并确保应用能够处理大规模的文件上传...
多图片上传的核心在于`<input type="file">`元素的`multiple`属性,它允许用户在选择文件时选择多个。例如: ```html ``` 当用户选择文件后,可以通过JavaScript获取到选中的文件列表,如下所示: ```javascript...
标题 "c# ,js请高手帮忙在附件源码里添加上传进度显示" 暗示我们需要探讨的是如何在C#后端与JavaScript前端之间实现文件上传时的进度显示功能。这个功能常见于Web应用中,它能提升用户体验,让用户了解文件上传的...
- 视图(View):呈现用户界面,可以与控制器交互,显示上传/下载的UI。 - 模型(Model):封装业务数据和逻辑,通常包含上传/下载的文件信息。 5. **C#编程**: - 类和对象:用面向对象的方式组织代码,如创建`...
然而,在实际操作过程中,可能会遇到一个常见问题:当用户上传的文件名中包含了特殊字符时,系统在下载这些附件时会出现错误或者无法正常下载的情况。本文将详细介绍如何解决这个问题,并提供两种不同的解决方案。 ...
kindeditor4.0.NET集成版(含图片和附件上传), 删除多余其他语言文档,修改js和ashx文件,上传文件按日期分文件夹存放。 kindeditor是一款较轻量级的国产富文本编辑器,包括300多K的表情包,和各类图片,总共只有...
同时,为了模仿163邮箱的界面,我们可以设计一个美观的提交按钮以及用于显示上传进度的进度条。 2. **AJAX异步上传**:为了提供上传进度显示,我们通常不直接提交表单,而是采用AJAX(Asynchronous JavaScript and ...
文件下载则相对简单。一旦文件在服务器上存储,我们可以创建一个HTTP响应,设置合适的响应头,如`Content-Type`表示文件类型,`Content-Disposition`指示浏览器如何处理响应(例如,作为附件进行下载)。然后,通过`...