`
310628570
  • 浏览: 28182 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

简单文件上转

阅读更多

 1.java文件

package com.topsoft.cya.web.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.File;
import com.jspsmart.upload.Files;
import com.jspsmart.upload.Request;
import com.jspsmart.upload.SmartUpload;

public class FileUploadServlet extends HttpServlet {

 /**
  * The doPost method of the servlet. <br>
  *
  * This method is called when a form has its tag value method equals to
  * post.
  *
  * @param request
  *            the request send by the client to the server
  * @param response
  *            the response send by the server to the client
  * @throws ServletException
  *             if an error occurred
  * @throws IOException
  *             if an error occurred
  */
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html;charset=gbk");
  PrintWriter out = response.getWriter();

  try {
   String path, callback;
   int maxSize = 10 * 1024 * 1024;
   SmartUpload upload = new SmartUpload();
   upload.initialize(getServletConfig(), request, response);
   upload.setAllowedFilesList("bmp,jpg,gif,jpeg,png,swf");
   upload.setMaxFileSize(maxSize);

   // 上载文件
   upload.upload();
   // 取出参数
   Request r = upload.getRequest();
   path = r.getParameter("path");
   callback = r.getParameter("callback");
   Files fs = upload.getFiles();

   if (fs.getCount() > 0) {
    File f = fs.getFile(0);
    if (!f.isMissing()) {
     // 文件上传
     String _path = "uploadfile/" + path;
     String root = getServletContext().getRealPath("/");
     if (!_path.endsWith("/"))
      _path += "/";

     java.io.File _f = new java.io.File(root + _path);
     if (!_f.exists()) {
      _f.mkdirs();
     }
     _f = null;

     _path += getFileName() + "." + f.getFileExt();

     f.saveAs(root + _path);
     out.println("<script type=\"text/javascript\">parent."
       + callback + "(\"" + _path
       + "\");window.history.back();</script>");
    }
   }
  } catch (Exception e) {
   out
     .println("<script type=\"text/javascript\">alert(\"文件上传失败:\\n"
       + "上传文件格式必须为(jpg,png,bmp,gif,swf),\\n文件大小不允许超过10M\");window.history.back();</script>");
  }

  out.flush();
  out.close();
 }

 private String getFileName() {
  SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
  String ret = sdf.format(new Date());
  Random r = new Random();
  ret += r.nextInt(100) + 100;
  return ret;
 }
}

2.web.xml 配置

 <servlet>
    <description>文件上传</description>
    <display-name>文件上传</display-name>
    <servlet-name>FileUploadServlet</servlet-name>
    <servlet-class>com.topsoft.cya.web.servlet.FileUploadServlet</servlet-class>
  </servlet>
   <servlet-mapping>
    <servlet-name>FileUploadServlet</servlet-name>
    <url-pattern>/Upload</url-pattern>
  </servlet-mapping>

 

3.upload.jsp

<%@page contentType="text/html;charset=GBK"%>
<%
String rootPath = request.getContextPath();
%>
<html>
 <link rel="stylesheet" type="text/css"
  href="<%=rootPath%>/etc/styles/cya.css" />
 <style type="text/css">
<!--
body,td,th {
 font-size: 12px;
}

body {
 margin: 0px;
 padding: 0px;
 overflow: hidden;
}
-->
</style>
 <script type="text/javascript">
 
   function validate()
   {
     var f=document.forms[0];
     if(f.file1.value.length == 0)
     {
       alert("文件名不能为空");
       return;
     }
     else{
        f.submit();
     }
   }
 
 </script> 
 

 <body>
 
    
  <form action="<%=rootPath%>/Upload" method="post"
   enctype="multipart/form-data">
   <table>
    <tr>
     <input type="hidden" name="path"
      value="<%=request.getParameter("path")%>">
     <input type="hidden" name="callback"
      value="<%=request.getParameter("callback")%>">
     <td>
      <input type="file" id="file1"  name="file1"  size="50"/>
     </td>
     <td>
      <input type="button" class="button2" name="Submit" value="上传" onclick="validate();" />
     </td>
    </tr>
   </table>
  </form>
 </body>
</html>

 

4.test.html

<html>
 <body>
  <script type="text/javascript">
      function onUpload(f){
        alert("文件已经保存到:"+f);
      }
 
     </script>
  <iframe src="upload.jsp?path=news&callback=onUpload" width="460"
   height="32" marginheight="0" marginwidth="0" frameborder="0"></iframe>
 </body>
</html>

 

 

分享到:
评论

相关推荐

    python json文件转txt文件,批处理json文件转换成一个txt文件

    标题中的"python json文件转txt文件,批处理json文件转换成一个txt文件",指的是使用Python编写脚本来读取多个JSON文件,解析其内容,并将数据写入到TXT文件中。这通常涉及到以下步骤: 1. **导入必要的库**:首先...

    txt文件转换为bin文件

    在Windows上,还有许多图形界面工具可以进行此操作,比如Hex Editors(十六进制编辑器),如HxD,它可以读取和编辑二进制文件,同时也能导出为其他格式,包括BIN。 在进行转换时,需要注意以下几点: 1. 数据的含义...

    Bin文件和Hex文件相互转换

    在IT领域,我们经常需要处理各种格式的数据文件,其中Bin(二进制)文件和Hex(十六进制)文件是常见的两种类型。这两种文件都包含了二进制数据,但它们的表示方式有所不同,使得在特定场景下需要进行相互转换。 **...

    C++文件转二进制,二进制转文件

    ### 文件转二进制 将文件转换为二进制,主要是读取文件的每个字节,并将它们保存到一个二进制流中。以下是基本步骤: 1. **打开文件**:使用`std::ifstream`类打开要转换的文件,设置模式为`std::ios_base::binary...

    Hex文件转Bin文件的QT程序V1.0

    本篇将详细介绍如何使用标题为"Hex文件转Bin文件的QT程序V1.0"的工具来完成这个转换过程。 首先,我们要理解Hex文件的结构。Intel Hex格式是一种常见的十六进制文件格式,其中包含地址、数据和校验和等信息。每个...

    hex文件转二进制工具

    标题中的"hex文件转二进制工具"指的是一个能够将HEX文件转换为二进制文件的软件。这种工具对于那些需要直接将程序烧录到不支持HEX格式的设备,或者希望减小文件大小以提高烧录效率的开发者来说非常有用。 描述中...

    C#【文件操作篇】hex文件转bin文件

    以下是一个简单的C#代码示例,演示了上述过程: ```csharp using System; using System.IO; public class Hex2BinConverter { public static void ConvertHexToBin(string hexFilePath, string binFilePath) { ...

    java 将文件中二进制文件转换成文本文本文件并输出

    以下是一个简单的步骤概述: 1. **打开二进制文件**:使用`FileInputStream`类打开二进制文件,创建一个字节输入流。 2. **读取字节**:使用`read()`方法从输入流中读取字节。`read()`方法返回的是一个int值,范围...

    简单的csv文件转换为kml文件的python程序

    标题中的“简单的csv文件转换为kml文件的python程序”是指使用Python编程语言将逗号分隔值(CSV)格式的数据文件转换成键值对标记语言(KML)文件的过程。KML文件常用于地理信息系统,如Google Earth,用于显示地理...

    酷狗缓存文件kgtemp转MP3易语言源码

    酷狗在播放音乐时,为了提高播放速度和节省流量,会将歌曲缓存在用户的设备上,这些缓存文件通常以.kgtemp为扩展名。本篇将深入探讨如何利用易语言编程将酷狗的缓存文件转换为常见的MP3格式,以及涉及的相关知识点。...

    elf文件转换为hex文件

    这个过程可能包括地址映射、数据类型转换等步骤,以确保HEX文件能够正确地在目标硬件上运行。转换后的`my_program.hex`文件可以使用编程器或固件更新工具加载到微控制器的内存中。 总的来说,`elf2hex`这个工具简化...

    将bin文件直接转换成text文本输出

    在标题和描述中提到的“将bin文件直接转换成text文本输出”,实际上是指将二进制数据转换为可读的文本格式。这通常是通过将二进制数据解码为字符或十六进制值来实现的。对于开发者来说,这可以帮助他们理解二进制...

    TXT转换BIN文件

    这种文件格式简单且通用,可以被大多数文本编辑器打开和编辑。TXT文件基于ASCII或Unicode编码,如UTF-8,确保全球不同语言的字符都能正确表示。 相反,BIN文件是二进制文件,它包含了计算机可以直接执行的原始比特...

    Tab、MIF文件转换为SHP文件的小软件

    在GIS(地理信息系统)...尽管它可能没有图形用户界面,但其简单易用的命令行操作对于熟悉GIS数据处理的用户来说应该不成问题。在日常工作中,掌握这种数据转换技能能极大地提高工作效率,尤其在处理大量地理数据时。

    DOT文件转换为DOC文件.rar

    在IT领域,文件格式转换是...在实际工作中,可能还会遇到其他文件格式的转换问题,例如PDF转DOC,或者ODT(OpenDocument Text)转DOC等。掌握各种转换技巧,能够提高工作效率,特别是在跨平台或与不同软件用户协作时。

    bat文件转换为exe文件

    批处理文件(BAT)是Windows操作...综上所述,将bat文件转换为exe文件可以提高它们在杀毒软件中的接受度,但也需要对安全性保持警惕。合理选择和使用转换工具,以及遵循最佳实践,将有助于确保批处理脚本的顺利执行。

    bin文件转txt工具

    总的来说,"bin文件转txt工具"是一种实用的工具,可以帮助IT专业人士和普通用户解析二进制数据,使其变得可读。在软件开发、数据分析、故障排查等场景中,这种工具往往能发挥重要作用。在使用此类工具时,了解其工作...

    简单的BAT转exe文件

    "简单的BAT转exe文件"是一个工具,它允许用户将BAT脚本转换为EXE格式,并且还支持添加自定义图标,以提供更专业的外观。 转换BAT到EXE的过程通常涉及编译器或转换器,这些工具会解析批处理脚本并创建一个可以直接...

    Txt文件转换为Dat文件

    TXT文件是文本文件,通常用于存储纯文本信息,如文本、代码片段或简单的数据记录。它们以可读性强、通用性好为特点,几乎在任何操作系统上都能打开。而DAT文件则没有固定的标准,它可以用来存储各种类型的数据,包括...

    xdf文件阅读器及xdf文件格式转pdf格式工具.rar

    安装完成后,用户可以通过简单的界面操作,导入xdf文件,然后选择转换为PDF的选项。工具应能处理各种类型的xdf数据,包括数值、字符串、时间序列等,并在转换后保持原有的数据结构和布局。 值得注意的是,虽然这个...

Global site tag (gtag.js) - Google Analytics