jsp中怎样判断文件是否上传
㈠ 请问jsp页面如何能获取到上传文件的大小,我想通过获取的大小,判断该文件是否可以被上传,请详细点,谢谢
因权限和安全限制,js是不能获得本地文件大小的,除非安装控件。
jsp获取上传文件大小方法如下:
long size=request.getContentLength() ;
在文件准备上传之前就可以得到其大小。
当然了,在客户端基本上不大可能获取大文件大小的,必须是文件提交上传开始后,在服务端获取得到的,request.getContentLength() ; 可以在接受数据流之前就可以获得当前要上传的文件流大小。 这样你可以在服务端控制文件上传之前是否允许继续接受数据流。
㈡ 用jsp 怎样实现文件上传
你下载一个jspsmart组件,网上很容易下到,用法如下,这是我程序的相关片断,供你参考: <%@ page import="com.jspsmart.upload.*" %>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
String photoname="photoname";
// Variables
int count=0; // Initialization
mySmartUpload.initialize(pageContext); // Upload
mySmartUpload.upload();
for (int i=0;i<mySmartUpload.getFiles().getCount();i++){ // Retreive the current file
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i); // Save it only if this file exists
if (!myFile.isMissing()) {
java.util.Date thedate=new java.util.Date();
java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
photoname = df.format(thedate);
photoname +="."+ myFile.getFileExt();
myFile.saveAs("/docs/docimg/" + photoname);
count ++; } }
%>
<% String title="1";
String author="1";
String content="1";
String pdatetime="1";
String topic="1";
String imgintro="1";
String clkcount="1"; if(mySmartUpload.getRequest().getParameter("title")!=null){
title=(String)mySmartUpload.getRequest().getParameter("title");
title=new String(title.getBytes("gbk"),"ISO-8859-1");
}
if(mySmartUpload.getRequest().getParameter("author")!=null){
author=(String)mySmartUpload.getRequest().getParameter("author");
author=new String(author.getBytes("gbk"),"ISO-8859-1");
}
if(mySmartUpload.getRequest().getParameter("content")!=null){
content=(String)mySmartUpload.getRequest().getParameter("content");
content=new String(content.getBytes("gbk"),"ISO-8859-1");
}
if(mySmartUpload.getRequest().getParameter("pdatetime")!=null){
pdatetime=(String)mySmartUpload.getRequest().getParameter("pdatetime");
}
if(mySmartUpload.getRequest().getParameter("topic")!=null){
topic=(String)mySmartUpload.getRequest().getParameter("topic");
}
if(mySmartUpload.getRequest().getParameter("imgintro")!=null){
imgintro=(String)mySmartUpload.getRequest().getParameter("imgintro");
imgintro=new String(imgintro.getBytes("gbk"),"ISO-8859-1");
}
if(mySmartUpload.getRequest().getParameter("clkcount")!=null){
clkcount=(String)mySmartUpload.getRequest().getParameter("clkcount");
}
//out.println(code+name+birthday);
%>
㈢ jsp input file 判断有没有上传文件
判断这个file的value
========
如何判断:request 中取到这个file,看是否有值
㈣ jsp 如何实现文件上传和下载功能
上传:
MyjspForm mf = (MyjspForm) form;// TODO Auto-generated method stub
FormFile fname=mf.getFname();
byte [] fn = fname.getFileData();
OutputStream out = new FileOutputStream("D:\"+fname.getFileName());
Date date = new Date();
String title = fname.getFileName();
String url = "d:\"+fname.getFileName();
Upload ul = new Upload();
ul.setDate(date);
ul.setTitle(title);
ul.setUrl(url);
UploadDAO uld = new UploadDAO();
uld.save(ul);
out.write(fn);
out.close();
下载:
DownloadForm downloadForm = (DownloadForm)form;
String fname = request.getParameter("furl");
FileInputStream fi = new FileInputStream(fname);
byte[] bt = new byte[fi.available()];
fi.read(bt);
//设置文件是下载还是打开以及打开的方式msdownload表示下载;设置字湖集,//主要是解决文件中的中文信息
response.setContentType("application/msdownload;charset=gbk");
//文件下载后的默认保存名及打开方式
String contentDisposition = "attachment; filename=" + "java.txt";
response.setHeader("Content-Disposition",contentDisposition);
//设置下载长度
response.setContentLength(bt.length);
ServletOutputStream sos = response.getOutputStream();
sos.write(bt);
return null;
㈤ 如何用jsp实现文件上传功能
上传文件示例:
<form action="doUpload.jsp" method="post" enctype="multipart/form-data">
<%-- 类型enctype用multipart/form-data,这样可以把文件中的数据作为流式数据上传,不管是什么文件类型,均可上传。--%>
请选择要上传的文件<input type="file" name="upfile" size="50">
<input type="submit" value="提交">
</form>
</body>
</html>
㈥ jsp如何实现文件上传与下载
如果服务器端程序使用的是struts2框架的话,我会,其他的不会。
struts2:
对于上传,jsp页面只需要有个file类型的表单域,如<input type="file" name="xxx" />
struts2的接收请求的action中再写三个属性与这个表单域的名称对应起来,他们是,File类型的xxx,String类型的xxxFileName,String类型的xxxContentType,并其设置相应的set/get方法。则框架负责接收上传文件的字节流,解析文件名,文件类型,直接使用即可。
对于下载,只需要在action的配置文件中设置如下返回值类型和相应参数:
<result type="stream">
<param name="contentType">application/octet-stream</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">attachment;filename=xxx </param> xxx为下载文件的文件名
</result>
且在action总写一个返回值类型为InputStream的getInputStream方法,此方法返回你要下载的文件的流即可。
ps:其中contentDisposition的配置信息中attachment代表点击下载时浏览器先弹出个保存位置的提示框,然后再决定是否下载,默认是inline,即直接打开文件。
㈦ 关于jsp 文件上传。
首先你要排查一下错误。
1.debug 看一下 file是否传到了后台 是否是null
是null请检查前台请求问题,不是null 看一下 获取的filename是不是null
2.图片路径 根据提示 到盘符中查看是否有此路径,没有的话 手动建立文件夹或者通过代码创建
㈧ jsp 上传前能否先判断文件是否符合大小和格式限制啊
Connection conn = DataBase.getConnection();
ProctDAO proctDao = new ProctDAO();
CategoryDAO categoryDao = new CategoryDAO();
categoryDao.setConn(conn);
Proct proct = new Proct();
proctDao.setConn(conn);
//上传文件
SmartUpload upload = new SmartUpload();
// 上传初始化
upload.initialize(this.getServletConfig(), request, response);
// 设定上传限制
// 1.限制每个上传文件的最大长度。
upload.setMaxFileSize(1000000);
// 2.限制总上传数据的长度。
upload.setTotalMaxFileSize(10000000);
// 3.设定允许上传的文件(通过扩展名限制),仅允许gif.jpg文件。
upload.setAllowedFilesList("gif,jpg");
// 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,
// jsp,htm,html扩展名的文件和没有扩展名的文件。
upload.setDeniedFilesList("exe,bat,jsp,htm,html");
//上传文件
upload.upload();
//利用request对象获取参数,接参
这个是我们用的upload 老师上课给的例子 下面代码就不给出了 都一样
㈨ 如何在一个servlet中判断是否有文件被上传
由于上传文件的数据格式变为multipart/form-data,所以使用标准的request对象是不行的,如果你必须在jsp中判断是否有这个文件,需要做一些工作。
㈩ jsp 中文件上传
给你解释一下其中的原理你应该就明白了,前台用户界面选择文件后开始异步上传文件至服务器端你指定的文件位置,然后服务器端识别文件是否结束,结束了就把文件名记录在你的数据库中,这样你在读取的时候再通过服务器文件名,将地址传给用户界面。大概就是这个样子。具体的实现,可以找一下这个插件commons-fileupload jar包和commons-io jar
还有什么其他问题可以wx找shenbeihutong,直接问我