`

jsp动态上传多个文件---实用的例子

 
阅读更多

现在还有一个错误就是文件名是中文的话,就乱码。还在改进.
upload.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
BODY{
font-size:9pt
}
-->
</style>

<SCRIPT language=javascript>
function check_file()
{
var strFileName=form1.FileName.value;
if (strFileName=="")
{
    alert("请选择要上传的文件");
    return false;
}
}
</SCRIPT>
<script language="javascript">
// javascript 动态添加 input type="file"
var i = 1;
function addFile(dvID, inputNamePrefix)
{
var dv = document.getElementById(dvID);

var file = document.createElement("input");
file.type = "file";
file.id = file.name = inputNamePrefix + i;

dv.appendChild(file);

var btn = document.createElement("input");
btn.type = "button";
btn.id = btn.name = "btn" + i;
btn.value = "删除" ;

btn.onclick = function() {
var b = document.getElementById(btn.id);
dv.removeChild(b.nextSibling); //remove <BR>
dv.removeChild(b.previousSibling); //file
dv.removeChild(b); //btn
}

dv.appendChild(btn);

dv.appendChild(document.createElement("BR"));

i++;
}
</script>

</head>
<body>
<!--
<form action="upfile.jsp" method="post" name="form1" onSubmit="return check_file()" enctype="multipart/form-data">
<input name="FileName" type="FILE" size="20">
<input type="submit" name="Submit" value="上传">
</form>
-->

<form action="upfile.jsp" method="post" name="form1" onSubmit="return check_file()" enctype="multipart/form-data">
<div id="dvTitles"></div>
<input type="button" value="添加单个文件" onclick="addFile('dvTitles','file')">&nbsp;&nbsp;
<input type="submit" name="Submit" value="上传已添加文件">
</form>

</body>
</html>

upfile.jsp:

<%@ page contentType="text/html;charset=gbk" import="com.jspsmart.upload.*" pageEncoding="GB18030"%>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />

<HTML>
<BODY>
<%
// 初始化
final String upFileType="zip|rar|doc|txt|jpg|xls";        //上传文件类型
final int MAXFILESIZE=20480000;        //上传文件大小限制
String errMsg=null;    //错误信息
boolean err=false;     //错误标志
int fileSize=0;        //文件大小
mySmartUpload.initialize(pageContext);

// 上传文件
mySmartUpload.upload();

//判断将要上传文件的总容量是否超过上限
int count = mySmartUpload.getSize();
if(count>MAXFILESIZE){
out.print ("<script>alert('上传失败!文件大小:"+count/1024+"K超出了限定的范围(最大"+ MAXFILESIZE/1024+"K)');this.history.go(-1);</script>");
//response.sendRedirect("http://127.0.0.1:8080/javastudy/upload.htm");
}

// 循环取得上传所有文件
else{
    for(int i=0;i<mySmartUpload.getFiles().getCount();i++){
          com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);

        if (!myFile.isMissing()) {     
        String myFileName=myFile.getFileName();//得到文件名
        System.out.println(myFileName);
        //if(myFileName.length()>0){    //取得不带后缀的文件名
           //String subFileName=myFileName.substring(0,myFileName.lastIndexOf('.'));
        //}
        String fileType=myFile.getFileExt();//得到文件扩展名
           fileType=fileType.toLowerCase();   //将扩展名转换成小写
        if (upFileType.indexOf(fileType)==-1){
        err=true;
        errMsg="文件"+myFileName+"上传失败!只允许上传以下格式的文件:"+upFileType;
        }
        //得到单个文件大小
        //fileSize+=myFile.getSize();
        //if (err==false&&fileSize>MAXFILESIZE){
        //   err=true;
        //   errMsg="上传失败!文件大小超出了限定的范围(最大"+MAXFILESIZE/1024+"K)";
        //}

       if(err==false){
         //取得路径
       //String adss=getServletContext().getRealPath("/")+"JSP\\";
       //String trace=adss+myFileName;
         //保存文件
         //String newFileName="001."+fileType;   //可自动生成文件名以防止同名覆盖
      //myFile.saveAs(trace);
    myFile.saveAs("C:\\"+myFileName);

    }else{
        out.print ("<script>alert('"+errMsg+"');this.history.go(-1);</script>");  
}
}
}
out.print("<script>alert('上传文件成功!文件大小:"+count/1024+"K');this.history.go(-1);</script>");
}
%>
</BODY>
</HTML>

分享到:
评论

相关推荐

    纯jsp文件多文件上传例子

    在这个例子中,`name="files"`的`&lt;input&gt;`标签允许用户选择多个文件,`multiple`属性使用户可以选择多个文件。 接下来,我们将在后端处理文件上传。在JSP页面(如upload.jsp)中,我们可以使用`&lt;jsp:useBean&gt;`和`...

    jsp简单例子-文件操作

    在Java服务器页面(JSP)开发中,文件操作是一个常见的需求,无论是为了读取配置文件、存储用户上传的数据还是处理其他文件相关的任务。本篇将深入讲解如何在JSP中进行文件读写,并解决中文乱码的问题。我们将重点...

    sw_jsp经典实用代码--文件上传

    "sw_jsp经典实用代码--文件上传"这个压缩包可能包含了一些关于如何在jsp中实现文件上传的示例代码。以下是对这一主题的详细阐述: 文件上传在Web应用中的作用: 文件上传功能通常用于让用户提交文档、图片、音频或...

    jsp文件上传到数据库里例子下载

    【标题】"jsp文件上传到数据库里例子下载"是一个典型的Java Web开发教程,它涉及到的主要知识点是如何使用JSP(JavaServer Pages)将用户上传的文件存储到数据库中。这一过程通常用于实现用户在网站上上传图片、文档...

    jsp上传文件实例可以使用jsp上传图片,文档,等文件

    注意`enctype="multipart/form-data"`,这是必须的,因为文件上传需要多部分编码。 2. **JSP页面处理** 当用户提交表单后,请求会发送到指定的JSP页面(如"upload.jsp")。在JSP中,我们需要使用Servlet API来...

    多种jsp文件上传实例

    本文将详细解析"多种jsp文件上传实例"中的知识点,涵盖单个文件上传、多个文件上传、大文件上传等核心概念。 1. **单个文件上传**: 单个文件上传通常通过HTML表单实现,包含一个`&lt;input type="file"&gt;`元素。在JSP...

    JSP文件上传代码文件上传代码

    在JSP中实现文件上传是一项常见的任务,尤其是在构建Web应用程序时。JSP(JavaServer Pages)是...记住,尽管这个例子简单明了,但在实际开发中,你可能需要结合更多的安全措施和技术来创建一个更健壮的文件上传系统。

    jsp servlet 上传例子 基于 jspsmartupload

    它提供了方便的API,能够处理多文件上传、限制文件大小、设置允许的文件类型等需求,使得在`JSP`中实现文件上传变得简单易行。 1. **环境准备** 在开始之前,确保你已经安装了以下软件: - Java Development Kit ...

    jsp多文件上传例子jar包都包含

    这个组件是专为文件上传设计的,它简化了处理用户通过表单提交的多个文件的流程。 首先,让我们了解多文件上传的基本步骤: 1. **HTML表单**:在JSP页面上,你需要创建一个表单,其中包含一个`&lt;input type="file"&gt;...

    jsp文件上传的例子

    【标题】"jsp文件上传的例子"是一个典型的Java服务器页面(JSP)技术的应用示例,主要涉及用户在Web应用程序中上传文件的功能。JSP是Java平台上的动态网页开发技术,它允许开发者将HTML、CSS、JavaScript与Java代码...

    JSP上传文件(有进度条)可上传大文件

    JSP上传文件(有进度条)可上传大文件 网上有很多文章都是jspsmart,由于jspsmart直接在内存中操作数据,如果上传大文件或多台计算机上传的话会出错,还有一些方法传得比较慢。 为了方便上传文件,本人写了一个传输...

    jsp servlet 上传文件

    通过上述步骤,你可以构建一个基本的JSP和Servlet合作的文件上传系统,尤其是针对图片文件的上传。在实际项目中,你可能需要进一步完善功能,如添加进度条显示、多文件上传支持等,以提高用户体验。

    uploadify多文件上传例子代码

    在IT行业中,文件上传是网页应用中常见的功能之一,尤其在大数据时代,用户可能需要一次上传多个文件。"uploadify"是一款广泛使用的JavaScript插件,它使得多文件上传变得简单而高效。本示例代码是关于如何使用...

    jsp实用案例教程

    8. **文件上传与下载**:演示如何在JSP中实现文件的上传和下载功能,涉及文件流的处理和错误处理策略。 9. **异常处理**:介绍在JSP中如何捕获和处理异常,确保程序的健壮性。 10. **安全控制**:探讨JSP中的安全...

    uploadify JSP的上传例子

    这个过程涵盖了前端交互、后端处理以及文件验证等多个方面,对于理解Web开发中的文件上传机制具有很好的实践意义。同时,这个例子也展示了如何将不同语言的示例代码转化为其他语言版本,这对于跨语言开发具有一定的...

    Struts2多个文件上传

    在这个例子中,`name="files"`的`input`元素允许用户选择多个文件,`multiple`属性表示可以同时上传多个文件。 在Struts2的动作类(Action)中,你需要创建一个List类型的属性来接收这些文件。例如: ```java ...

    jsp实现文件上传功能组件

    1. **创建上传表单**:在JSP页面上,你需要创建一个支持multipart/form-data的表单,包括一个文件输入字段和其他必要的表单字段。 2. **配置Servlet**:在web.xml文件中,配置一个Servlet来处理文件上传请求,设置...

    jsp上传和下载commons-fileupload例子及说明(推荐)

    因为jspsmartupload上传大文件的时候,比较慢。所以这里选择了commons-fileupload这个组件。 在网上有很多文章教我们怎样去做,但是往往都是很难做得出来的! 所以我这里给出了一个完整的例子!里面已经有所需要用到...

    jsp与servlet 上传文件 javaBean上传文件

    在这个例子中,我们首先检查请求是否包含文件,然后使用`ServletFileUpload`解析请求并获取每个文件项。对于每个文件项,我们使用`getBytes("ISO-8859-1")`将文件名从ISO-8859-1编码转换为字节数组,再使用`new ...

    jsp页面上传图片例子

    在图片上传的例子中,JSP页面将包含一个表单,用户可以通过这个表单选择本地的图片文件进行上传。 1. **表单设计**: - 使用`&lt;form&gt;`标签创建一个HTML表单,设置`enctype="multipart/form-data"`以支持文件上传。 ...

Global site tag (gtag.js) - Google Analytics