<%@ 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上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileupload
在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...
本篇文章将详细探讨如何在Struts2框架下实现文件的上传与下载。 首先,我们需要了解Struts2中的文件上传机制。Struts2提供了`FileUploadInterceptor`拦截器来处理文件上传请求。在处理文件上传时,开发者需要在...
Struts2提供了一套完善的机制来处理文件上传,包括图片。本文将详细讲解如何利用Struts2实现图片上传并进行预览。 一、Struts2文件上传基础 1. 添加依赖:在项目中,你需要添加Struts2的核心库和文件上传插件。...
在这个“struts2上传文件源代码”中,我们将深入探讨Struts2如何实现文件上传功能,以及涉及到的相关知识点。 首先,文件上传是Web应用中常见的功能,它允许用户从本地计算机选择文件并将其发送到服务器。在Struts2...
在"struts2上传下载项目"中,我们可以深入理解如何利用Struts2实现文件的上传与下载功能。 首先,上传功能在Web应用中十分常见,比如用户在注册时上传头像,或者提交文档等。在Struts2中,我们主要借助`struts2-...
Struts2 文件上传是Java Web开发中常见的功能,主要用于接收用户通过表单上传的文件。在Struts2框架中,虽然它自身不处理`multipart/form-data`类型的请求,但它依赖于第三方库,如Apache Commons FileUpload,来...
2. **创建Struts2 Action**:在Struts2项目中创建一个Action类,比如`ImageUploadAction`,并定义一个方法来处理上传请求。这个方法需要接收`File`或`CommonsFileUpload`的`FileItem`对象,以接收上传的图片文件。 ...
在Struts2中,文件上传功能是一个常用特性,尤其在处理用户提交的多个文件时。本文将详细讲解如何使用Struts2进行多个文件的上传,重点是使用List集合进行上传。 首先,要实现Struts2的文件上传,必须引入必要的...
Struts2作为一款流行的Java Web框架,提供了丰富的功能来处理用户请求,包括文件上传。在Struts2中实现文件上传并展示进度条是一项常见的需求,它能提升用户体验,尤其是在处理大文件时。以下将详细解释如何在Struts...
本案例涉及的是将xheditor富文本编辑器与Struts2框架整合,实现图片上传功能。xheditor是一款强大的JavaScript在线编辑器,提供了丰富的文本编辑功能,而Struts2是一个流行的Java Web框架,用于构建MVC(模型-视图-...
Struts2文件上传进度条是Web开发中一个实用的功能,它允许用户在文件上传过程中查看当前的上传进度,提供更好的用户体验。在这个项目中,我们利用Struts2框架的拦截器机制来实现这一功能。 首先,我们需要理解...
在本文中,我们将深入探讨如何使用ExtJS 4与Struts2框架实现文件上传功能。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件,而Struts2是Java Web开发中的一个MVC框架,用于处理后端业务逻辑。下面,我们...
总的来说,使用Struts2上传图片并显示缩略图涉及多个步骤:配置Struts2 Action,处理文件上传,生成缩略图,以及在页面上展示图片。这个过程需要对Struts2框架、文件I/O、图片处理以及Web安全有深入理解。通过实践,...
在这个"struts2上传和下载文件详细源码"中,我们可以深入理解Struts2如何处理文件上传和下载操作。 1. 文件上传: 在Struts2中,文件上传主要依赖于Apache的Commons FileUpload库。首先,需要在struts.xml配置文件...
在Struts2中实现视频和照片上传功能是一项常见的需求,这通常涉及到文件上传、文件处理以及数据展示等多个环节。以下将详细介绍如何在Struts2中实现视频和照片的上传,并在后端页面显示。 1. **文件上传基础**: -...
Struts2、jQuery和Ajax是Web开发中的三个关键组件,它们共同构成了文件异步上传的基础框架。这个项目是在MyEclipse环境下实现的一个简单的文件上传功能,让我们深入了解一下这些技术及其在文件上传中的应用。 首先...
结合Struts2,一个流行的Java Web框架,可以构建出高效、用户友好的文件上传功能。下面将详细介绍如何利用SWFUpload与Struts2来实现多文件上传。 **一、SWFUpload组件介绍** SWFUpload 是一个JavaScript库,它利用...
6. **源码分析**: 要深入理解Struts2的文件上传机制,你需要查看Struts2的源码,特别是`org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest`和`org.apache.struts2.components.Form`这两个类。...