`
747017186
  • 浏览: 331328 次
社区版块
存档分类
最新评论

struts2文件的上传与下载

 
阅读更多

前几天做了图片文件的上传,以前虽然也做过但是每次做都要查找资料,现在在这里做个笔记。

我用的是Struts2的图片上传。下面我们来看代码:

前端页面:

<script type="text/javascript" src="${rootPath}/scripts/jquery.form.js"></script>

 

<form action="${rootPath}/plat/knowledgebase/ajaxUploadPicture.htm" method="post" enctype="multipart/form-data" id="pictureform">

 <tr height="60px"> 

         <td class="rigthtext">健康知识图片:</td> 

         <td  class="lefttext">

       <img src="${rootPath}${knowledgeBase.picture}" alt="无法显示" style="width: 200px;" id="showimg"/>

         <input class="input-sousuo" type="file" name="file" style="width: 50%;" onchange="ajaxUploadPicture();" id="upfile"/>

         </td> 

     </tr> 

 </form>

 

/**

 * 检验是否是图片文件

 */

function verifimg(){

var filePath = document.getElementById("upfile");

if(filePath.value!=null && filePath.value.length>0){

//图片比较少且类型固定时

if(!(/(?:jpg|gif|png|bmp|jpeg|tif|tiff)$/i.test(filePath.value))){//只判断jpg|gif|png格式,其他的格式可以往后追加

alert("只支持jpg/gif/png/bmp/jpeg/tif/tiff的图片");

$('#showimg').attr("src","");

return false;

}else{

return true;

}

 

//图片比较多且类型不固定时

<%--if(!(/image\/.*/i.test(filePath.value))){--%>

<%--alert("不是图片类型");--%>

<%--return false;--%>

<%--}else{--%>

<%--return true;--%>

<%--}--%>

}else{

return true;

}

}

 

/**

 * from异步上传图片

点击图片提交的时候,先异步上传图片,把图片在服务器上的路径返回回来

把图片返回的图片路径设置到另一个form里面,把图片路径进行提交,路径存放到数据库

 */

function ajaxUploadPicture(){

if(verifimg()){

var option={

async:true,

cache:false,

dataType:"text",

type:"post",

success: function(data){

   $('#pictureinput').val(data);//设置图片路径

   $('#showimg').attr("src",rootPath+data);//进行预览

}

};

$('#pictureform').ajaxSubmit(option);//图片异步上传,来自于jQuery.form,必须导入相应的jQuery.form.js

}

}

 

后台代码:

/**

* ajax上传图片

* @throws IOException 

*/

private File file;//上传文件,临时文件,最终转换成流写入文件(一般以XXXXX.TEMP.的文件)

private final String basePath="/images/knowledgebase";

public void ajaxUploadPicture() throws IOException{

String newPath=ServletActionContext.getServletContext().getRealPath("/")+basePath;//上传文件在服务器上的路径

if(!new File(newPath).exists()){

new File(newPath).mkdirs();

}

 

//清除服务器上的冗余图片

File [] f=new File(newPath).listFiles();

for(int i=0;i<f.length;i++){

if(f[i].getName().endsWith(".jpg")){//必须是图片

boolean b=knowledgeBaseService.findExitByPic(basePath+"/"+f[i].getName());

System.out.println("##########"+b);

if(!b){//如果数据库里面没有则删除

f[i].delete();

}

}

}

 

String newImage=new IdGenerator().generate()+".jpg";//上传文件的图片名字

newPath=newPath+"/"+newImage;

 

org.apache.commons.io.FileUtils.copyInputStreamToFile(new FileInputStream(file), new File(newPath));//开始上传,把流写入自己新建的文件

this.printToJsp(basePath+"/"+newImage);//回写图片路径

}

分享到:
评论

相关推荐

    struts2文件上传与下载

    总结来说,Struts2文件上传与下载涉及了Struts2的配置、Action处理、文件处理、安全策略等多个方面,而SSH框架的整合使得这些功能能够在一个完整的应用架构中顺畅运行。通过深入理解和实践这些知识点,开发者能够...

    struts2 文件上传与下载

    在这个主题“Struts2文件上传与下载”中,我们将深入探讨如何在Struts2框架中实现文件的上传和下载功能,这对于创建交互式的Web应用是至关重要的。 文件上传允许用户通过Web表单提交文件到服务器,而文件下载则是将...

    Struts2文件上传与下载

    Struts2是一个强大的Java web框架,它为开发者提供了丰富的功能,包括处理用户表单提交、进行文件上传和下载。在Web应用中,文件上传和下载是常见的需求,例如用户上传头像、下载文档等。Struts2通过其Action类和...

    struts2文件上传下载源代码

    在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...

    struts2实现文件上传下载

    Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java ...以上就是使用Struts2框架实现文件上传下载的基本步骤和关键知识点。在实际开发中,可以根据项目需求进行调整和优化,确保功能的稳定性和安全性。

    Struts2文件上传和下载教程

    ### Struts2文件上传与下载教程 #### 一、文件上传原理及实现 **1.1 基础概念** 文件上传是Web开发中的常见需求之一。在Struts2框架中,实现文件上传主要依赖于表单的`enctype`属性设置为`multipart/form-data`。...

    struts2文件上传与下载源码-包含超出指定文件大小提示

    struts2文件的上传与下载,包含超出指定文件大小之后的提示。更多详细内容,请参考博客:http://blog.csdn.net/qq_20889581/article/details/52838848

    struts2文件上传和下载

    在Struts2中,文件上传和下载是常见的功能需求,对于用户交互和数据交换至关重要。以下是对这些知识点的详细阐述: 1. **文件上传**: 在Struts2中,文件上传主要依赖于`Commons FileUpload`库,它是一个Apache提供...

    struts2文件上传下载

    在这个特定的项目中,我们关注的是"struts2文件上传下载"的功能,这涉及到用户通过Web界面上传文件到服务器,以及从服务器下载文件到用户的设备。 文件上传是Web应用中的常见需求,例如用户可能需要提交图片、文档...

    Struts2文件上传下载.docx

    ### Struts2 文件上传与下载实现详解 #### 一、简介 在Web开发中,文件的上传和下载是非常常见的需求之一。Struts2框架作为Java Web开发中的一个重要框架,提供了非常方便的方式来处理这类操作。本文将详细介绍如何...

    struts2文件上传、下载

    ### Struts2 文件上传与下载的关键技术点 #### 一、Struts2 文件上传的关键技术点 ##### 1. 手动实现文件过滤 在Struts2中进行文件上传时,通常需要对上传的文件进行一定的限制,比如文件类型和文件大小等。这...

    Struts2文件上传

    ### Struts2文件上传与下载实现详解 #### 实验背景及目标 在现代Web开发中,文件上传与下载是常见的需求之一,尤其在构建具备多媒体交互能力的应用时尤为重要。Struts2作为Java Web开发中的一个重要框架,提供了...

    struts与hibernate实现文件的上传与动态下载

    通过以上步骤,你可以实现一个基于Struts2和Hibernate的文件上传与动态下载系统。这个系统能够处理用户上传的文件,将其保存到服务器,同时提供动态下载功能,允许用户根据需要下载文件。在实际开发中,还需要考虑...

    struts2文件上传jar

    这个压缩包包含了实现Struts2文件上传所需的全部jar包,这些库文件对于理解和实现文件上传功能至关重要。 首先,我们要了解Struts2文件上传的基本流程。当用户通过表单提交包含文件输入字段的请求时,Struts2框架会...

    Struts2之struts2文件上传详解案例struts011

    在这个"Struts2之struts2文件上传详解案例struts011"中,我们将深入探讨如何实现这一功能。 首先,我们需要了解Struts2中的Action类,它是处理用户请求的核心组件。为了支持文件上传,我们需要创建一个继承自`org....

    struts2 文件上传

    Struts2 文件上传是Web开发中的一个重要功能,它允许用户通过网页上传文件到服务器。Struts2 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,提供了丰富的特性和强大的控制层功能,使得文件上传...

Global site tag (gtag.js) - Google Analytics