比较乱的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><!---->
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值