`
bobshute
  • 浏览: 286535 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

比较乱的struts2的上传

阅读更多
<%@ page contentType="text/html;charset=gbk" %>
<%@ page language="java" import="javazoom.upload.*,java.util.*" %>
<jsp:directive.page import="org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper"/>
<jsp:directive.page import="java.io.File"/>
<jsp:directive.page import="java.io.FileInputStream"/>
<jsp:directive.page import="java.io.FileOutputStream"/>
<%//@ page errorPage="ExceptionHandler.jsp" %>
<%@ page import="com.*.util.editor.*"%>
<%!
private String getExtension(String fileName) throws Exception {
  return fileName.substring(fileName.lastIndexOf(".")+1);
}
%>
<%
WhatyEditorConfig editorConfig=(WhatyEditorConfig)session.getAttribute("whatyEditorConfig");
   String Out_FileHtml="";
   //实例化一个UploadBean
   UploadBean upBean=new UploadBean();
  //设置存储在服务器的目录
  //upBean.setFolderstore("d:/uploads");
  
  //设定使用的parser,cos为.COSPARSER,structs为STRUTSPARSER,Commons-FileUpload parsers 为 CFUPARSER
  upBean.setParser(MultipartFormDataRequest.COSPARSER);
  //
  //upBean.setParsertmpdir("d:/temp");
  //设置文件名的filter,在blacklist中的文件名不会被上传
  //upBean.setBlacklist("*.jsp,*.java,*.class");
  //设置文件名的filter,只有在whitelist中的文件名才会被上传
  //upBean.setWhitelist("*.txt");
  
  //设置文件的覆盖方式,true表示覆盖相同名称的文件,false表示不覆盖,生成新的文件名,缺省为false
  //upBean.setOverwrite(true);
  //设置最大的文件上载大小setFilesizelimit(int sizelimitinbytes)
  //upBean.setFilesizelimit(1024*1024);
  
  //判断是否为MultipartFormData
  if (!MultipartFormDataRequest.isMultipartFormData(request))
  {
  return;
  }
  
  
//**  MultipartFormDataRequest mrequest = new MultipartFormDataRequest(request);  
     MultiPartRequestWrapper mpRequest = (MultiPartRequestWrapper)request;
     File[] files = mpRequest.getFiles("NewFile"); // System.out.println("files.length->"+files.length);
     String[] fileNames = mpRequest.getFileNames("NewFile");
//**  String S_alt=mrequest.getParameter("alt");
String S_alt=mpRequest.getParameter("alt");  
  //得到存储路径
  //String uripath = mrequest.getParameter("uripath");
  //String baseurl=mrequest.getParameter("baseurl")+mrequest.getParameter("subfolder"); //这里得到的是相对目录
  //String root_dir=mrequest.getParameter("root_dir")+baseurl;
  
  //设置存储在服务器的目录
//** upBean.setFolderstore(editorConfig.getUploadAbsPath());
String currentDirPath = editorConfig.getUploadAbsPath();
   upBean.setFolderstore(currentDirPath);
  
  //得到存储文件
//**  Hashtable files = mrequest.getFiles();
//**  if ( (files != null) && (!files.isEmpty()) )
//**  {
    //得到上传文件的属性
//**    UploadFile file = (UploadFile) files.get("src");
//**    if (file != null) out.println("<li>Form fields : uploadfile"+"<BR> Uploaded file : "+file.getFileName()+" ("+file.getFileSize()+" bytes)"+"<BR> Content Type : "+file.getContentType());
    
    // 存入服务器上
//**    upBean.store(mrequest, "src");
//**  
    String fileUrl="";
    String fileName = "";
     String newName="";
    // String currentPath=baseDir+typeStr+currentFolderStr;
    // String currentPath=baseDir+typeStr+currentFolderStr;
    if ( (files != null) && (files.length !=0) )
{
   String fileNameLong=fileNames[0];
     File file0 = files[0];
     long file0size = file0.length();
     // System.out.println("file0.length()->"+file0.length());
     fileNameLong=fileNameLong.replace('\\','/');
     String[] pathParts=fileNameLong.split("/");
     //String fileName=pathParts[pathParts.length-1];
     fileName=pathParts[pathParts.length-1];
     String ext=getExtension(fileName); //得到文件的扩展名。

      FileInputStream fis = new FileInputStream(files[0]);
      FileOutputStream fos = new FileOutputStream(currentDirPath+File.separator+fileNames[0]);
      byte[] buf = new byte[1024];
      int j = 0;
      while ((j = fis.read(buf)) != -1) {
      fos.write(buf, 0, j);
      }
      fis.close();
      fos.close();
      
       //?? fileUrl=currentPath+"/"+newName;//是不是该是 newName = ext?? editorConfig.getUploadURI()
      
    
    
    //得到文件在服务器上存储的名称
//***    String filename=upBean.getFilenameOnServer();
    
//**System.out.println("editorConfig.getUploadURI()->"+editorConfig.getUploadURI());
String filename = fileName;
//  Out_FileHtml="<a href=\""+editorConfig.getUploadURI()+filename+"\" alt=\""+S_alt+"\" target=\"_blank\">"+S_alt+"("+file.getFileSize()+"Bytes)</a>";
  Out_FileHtml="<a href=\""+editorConfig.getUploadURI()+filename+"\" alt=\""+ext+"\" target=\"_blank\">"+S_alt+"("+file0size+"Bytes)</a>";
//  System.out.println("Out_FileHtml->"+Out_FileHtml);  //<a href="/swpx/incoming/interaction/282/0923.txt" alt="txt" target="_blank">txt(1Bytes)</a>
  
}
else
{  
  out.println("<li>No uploaded files");
}



%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<link rel="stylesheet" type="text/css" href="./css/FORUM.CSS">
<title>插入附件</title>
</head>
<body topmargin="10" leftmargin="10" rightmargin="0">
附件插入成功!
<script language="JavaScript">
var FileHtml='<%=Out_FileHtml%>';
top.opener.doInsert(FileHtml);
window.close();
</script>
<!--<center><a href="javascript:window.close()">[关闭本窗口]</a></center>-->
</body>    
</html><!---->
分享到:
评论

相关推荐

    struts2 文件上传

    struts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileupload

    struts2文件上传下载源代码

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

    struts2实现文件上传下载

    本篇文章将详细探讨如何在Struts2框架下实现文件的上传与下载。 首先,我们需要了解Struts2中的文件上传机制。Struts2提供了`FileUploadInterceptor`拦截器来处理文件上传请求。在处理文件上传时,开发者需要在...

    struts2图片上传并预览

    Struts2提供了一套完善的机制来处理文件上传,包括图片。本文将详细讲解如何利用Struts2实现图片上传并进行预览。 一、Struts2文件上传基础 1. 添加依赖:在项目中,你需要添加Struts2的核心库和文件上传插件。...

    struts2上传文件源代码

    在这个“struts2上传文件源代码”中,我们将深入探讨Struts2如何实现文件上传功能,以及涉及到的相关知识点。 首先,文件上传是Web应用中常见的功能,它允许用户从本地计算机选择文件并将其发送到服务器。在Struts2...

    struts2上传下载项目

    在"struts2上传下载项目"中,我们可以深入理解如何利用Struts2实现文件的上传与下载功能。 首先,上传功能在Web应用中十分常见,比如用户在注册时上传头像,或者提交文档等。在Struts2中,我们主要借助`struts2-...

    struts2文件上传

    Struts2 文件上传是Java Web开发中常见的功能,主要用于接收用户通过表单上传的文件。在Struts2框架中,虽然它自身不处理`multipart/form-data`类型的请求,但它依赖于第三方库,如Apache Commons FileUpload,来...

    ckeditor+struts2上传图片

    2. **创建Struts2 Action**:在Struts2项目中创建一个Action类,比如`ImageUploadAction`,并定义一个方法来处理上传请求。这个方法需要接收`File`或`CommonsFileUpload`的`FileItem`对象,以接收上传的图片文件。 ...

    Struts2多个文件上传

    在Struts2中,文件上传功能是一个常用特性,尤其在处理用户提交的多个文件时。本文将详细讲解如何使用Struts2进行多个文件的上传,重点是使用List集合进行上传。 首先,要实现Struts2的文件上传,必须引入必要的...

    struts2上传文件进度条显示

    Struts2作为一款流行的Java Web框架,提供了丰富的功能来处理用户请求,包括文件上传。在Struts2中实现文件上传并展示进度条是一项常见的需求,它能提升用户体验,尤其是在处理大文件时。以下将详细解释如何在Struts...

    xheditor集成struts2上传图片

    本案例涉及的是将xheditor富文本编辑器与Struts2框架整合,实现图片上传功能。xheditor是一款强大的JavaScript在线编辑器,提供了丰富的文本编辑功能,而Struts2是一个流行的Java Web框架,用于构建MVC(模型-视图-...

    Struts2文件上传进度条

    Struts2文件上传进度条是Web开发中一个实用的功能,它允许用户在文件上传过程中查看当前的上传进度,提供更好的用户体验。在这个项目中,我们利用Struts2框架的拦截器机制来实现这一功能。 首先,我们需要理解...

    Extjs4文件上传,后台struts2

    在本文中,我们将深入探讨如何使用ExtJS 4与Struts2框架实现文件上传功能。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件,而Struts2是Java Web开发中的一个MVC框架,用于处理后端业务逻辑。下面,我们...

    struts2 上传图片显示

    总的来说,使用Struts2上传图片并显示缩略图涉及多个步骤:配置Struts2 Action,处理文件上传,生成缩略图,以及在页面上展示图片。这个过程需要对Struts2框架、文件I/O、图片处理以及Web安全有深入理解。通过实践,...

    struts2上传和下载文件详细源码

    在这个"struts2上传和下载文件详细源码"中,我们可以深入理解Struts2如何处理文件上传和下载操作。 1. 文件上传: 在Struts2中,文件上传主要依赖于Apache的Commons FileUpload库。首先,需要在struts.xml配置文件...

    struts2上传视频照片

    在Struts2中实现视频和照片上传功能是一项常见的需求,这通常涉及到文件上传、文件处理以及数据展示等多个环节。以下将详细介绍如何在Struts2中实现视频和照片的上传,并在后端页面显示。 1. **文件上传基础**: -...

    struts2+jquery+ajax文件异步上传

    Struts2、jQuery和Ajax是Web开发中的三个关键组件,它们共同构成了文件异步上传的基础框架。这个项目是在MyEclipse环境下实现的一个简单的文件上传功能,让我们深入了解一下这些技术及其在文件上传中的应用。 首先...

    swfuplaod+struts2实现多文件上传

    结合Struts2,一个流行的Java Web框架,可以构建出高效、用户友好的文件上传功能。下面将详细介绍如何利用SWFUpload与Struts2来实现多文件上传。 **一、SWFUpload组件介绍** SWFUpload 是一个JavaScript库,它利用...

    Struts2文件上传源码

    6. **源码分析**: 要深入理解Struts2的文件上传机制,你需要查看Struts2的源码,特别是`org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest`和`org.apache.struts2.components.Form`这两个类。...

Global site tag (gtag.js) - Google Analytics