jsp 文件的上传与下载 要求对文件的类型、大小进行选择判断

下载的类:
package Down;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Download extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public Download() {
super();
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String path=new String(request.getParameter("path").getBytes("iso-8859-1"));
File file=new File(path);
InputStream in=new FileInputStream(file);
OutputStream os=response.getOutputStream();
response.addHeader("Content-Disposition","attachment;filename="+new String(file.getName().getBytes("gbk"),"iso-8859-1"));
response.addHeader("Content-Length", String.valueOf(file.length()));
response.setCharacterEncoding("utf-8");
response.setContentType("application/octet-stream");

int data=0;
while((data=in.read())!=-1)
{
os.write(data);
}
os.close();
in.close();

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub
}
}

servlet类:package Down;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Download extends HttpServlet {
private static final long serialVersionUID = 1L;

public Download() {
super();
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String path=new String(request.getParameter("path").getBytes("iso-8859-1"));
File file=new File(path);
InputStream in=new FileInputStream(file);
OutputStream os=response.getOutputStream();
response.addHeader("Content-Disposition","attachment;filename="+new String(file.getName().getBytes("gbk"),"iso-8859-1"));
response.addHeader("Content-Length", String.valueOf(file.length()));
response.setCharacterEncoding("utf-8");
response.setContentType("application/octet-stream");

int data=0;
while((data=in.read())!=-1)
{
os.write(data);
}
os.close();
in.close();

}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}

第1个回答  2011-12-10
你下载一个 jspsmartupload 里不是有七个例子,其中一个就是了,你看看

...到上传文件的大小,我想通过获取的大小,判断该文件是否可以被上传,请...
jsp获取上传文件大小方法如下:long size=request.getContentLength() ;在文件准备上传之前就可以得到其大小。当然了,在客户端基本上不大可能获取大文件大小的,必须是文件提交上传开始后,在服务端获取得到的,request.getContentLength() ; 可以在接受数据流之前就可以获得当前要上传的文件流大小。 这样...

文件上传jsp限制怎么绕过
该文件上传jsp限制绕过方法如下:1、修改服务器端代码,如果有权限访问并修改服务器端的代码,可以更改文件上传的处理方式。例如,可以更改文件大小限制,或者更改文件类型限制。然而,这种方法可能会带来安全风险,因为恶意用户可能会尝试上传恶意文件。2、使用不同的文件上传库,有些文件上传库可能比其它库更...

js 判断文件格式
用js对上传的文件大小以及格式进行初步的判断,在服务端再进行一次判断 \/\/判断照片大小 function getPhotoSize(obj){ photoExt=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();\/\/获得文件后缀名 if(photoExt!='.jpg'){ alert("请上传后缀名为jpg的照片!");return false;} var ...

jsp 文件上传和下载
默认为 inline(在线打开),设置为 attachment 将会告诉浏览器下载该文件,filename 指定下载文 件保有存时的文件名,若未指定将会是以浏览的页面名作为文件名,如以 download.action 作为文件名,这里使用的是动态文件名,${fileName}, 它将通过 Action 的 getFileName() 获得文件名 --> attachment;...

使用JSP上传文件是由于上传文件大于了我设置的大小如何解决
你上传文件必然要走输入输出流的。java可以识别文件的大小。如果大于你设置的大小,那么久可以不让上传,并且提示信息啊。你需要触发检查。一个是利用点确定按钮时出发,一个是在文件上传后利用ajax校验。都需要通过java类来判断。JS好像是没有这个功能的 ...

关于限制网站上传图片大小的问题,我现在用的是JSP,想要上传图片,在上 ...
在后台用java判断吧 int size = form.getPicture().getFileSize();if (size > 102400) {\/\/ 图片不能大于100kb request.getSession().setAttribute("isRightSize", "isRightSize");if(pageflag != null && !"".equals(pageflag) && !"null".equals(pageflag) && "account".equals(page...

jsp 文件下载的问题
如果被非法用户利用上传一些木马病毒文件到系统目录,相当危险,建议不允许用户选择存放目录,而是系统统一按照一定规则分配存储目录。补充:看错了,以为你要保存的是上传的文件。下载文件直接用超链接的方式就可以了,浏览器会自动弹出文件选择窗口,用户选在存储路径,保存文件。

jsp如何限制上传文件的类型
说到底,mime类型的判断还是通过扩展名来实现的,那么你可以在你的Web容器的相关配置文件中设置允许被上传的mime映射,然后在处理上传文件的时候,在相关代码中写限制的代码,如果此上传文件的类型不在mime映射范围内,就不进行保存处理.=== 明白你的意思了,你是想通过所上传文件的文件头信息中的相关信息来获...

jsp实现文件(doc,pdf,jpg,xls,ppt)上传下载功能.
当然可以了啊,你只需要在后台文件中增加读取文件信息,然后归类的方法就行了。如果你是单纯用JSP然后就直接连接DB。。。直接在DAO里面实现吧,把文件信息分别读出来,然后insert到一张表里面去,并且,附上文件的path。也就是说,那张表里面至少得要有文件的路径,然后才是你所需要保存的信息。

springmvc实现文件的上传和下载
文件上传是项目开发中最常见的功能之一 ,springMVC 可以很好的支持文件上传,但是SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况下其不能处理文件上传工作。如果想使用Spring的文件上传功能,则需要在上下文中配置MultipartResolver。前端表单要求:为了能上传文件,必须将表单的method设置为POST,并将...

相似回答