file.jsp代码:

<script type="text/javascript">
  function subForm()
  {   
      var str = document.FileUploadForm.file.value;
   var str2 = str.split(".");
   var str3 = str2[str2.length-1];
   
   if(str3.toUpperCase()=='JPG'||str3.toUpperCase()=='GIF')
   {
       return true;
      
   }else
   {
      alert('上传文件类型不对!');
      return false;
   }
  }
 </script>
  </head>
 
  <body>
   <html:form action="/FileUpload" enctype="multipart/form-data" οnsubmit="return subForm()">
   选择上传的文件:<html:file  property="file"></html:file><br/>
   <html:submit></html:submit>
   
   </html:form>
  </body>
</html:html>

form bean 文件:FileUploadForm

/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.bluedot.web.forms;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;

public class FileUploadForm extends ActionForm {
 private FormFile file;
 public FormFile getFile() {
  return file;
 }

public void setFile(FormFile file) {
  this.file = file;
 }

public ActionErrors validate(ActionMapping mapping,
   HttpServletRequest request) {
  // TODO Auto-generated method stub
  return null;
 }

public void reset(ActionMapping mapping, HttpServletRequest request) {
  this.file = null;
 }
}

Action:代码
FileUploadAction

/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.bluedot.web.actions;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;

import com.bluedot.web.forms.FileUploadForm;

public class FileUploadAction extends Action {
 
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  FileUploadForm f = (FileUploadForm)form;
  FormFile file = f.getFile();
  byte[] result = null;
   String path = "/upload/"+file.getFileName();
   String realpath =getServlet().getServletContext().getRealPath(path);
   try {
     result = file.getFileData();
     File aa = new File(realpath);
     if(!aa.exists())
     {
      aa.createNewFile();
     }
    FileOutputStream fos = new FileOutputStream(aa);
    fos.write(result);
    return mapping.findForward("fileok");
   } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    return mapping.findForward("error");
   }
   
  
 }
}

转载于:https://www.cnblogs.com/rong2009/archive/2009/08/07/1540926.html

用jsphtml:file实现一个文件上传的例子,而且有验证相关推荐

  1. php 上传多个txt文件上传,一个多文件上传的例子(原创)

    一个多文件上传的例子(原创) 更新时间:2006年10月09日 00:00:00   作者: //filename:multi_upload.php if($ifupload) { $path=Add ...

  2. File Upload(文件上传漏洞)

    File Upload: 文件上传漏洞 通常是由于对上传文件的类型.内容没有进行严格的过滤.检查,使得攻击者可以通过上传木马获取服务器的webshell权限 Low: 源代码; <?phpif( ...

  3. File Upload(文件上传)

    File Upload 前言 文件上传漏洞:攻击者上传了一个可执行的脚本文件,通过此脚本文件获得了执行服务器端命令的功能.文件上传是否会产生漏洞关键在于服务器怎么来处理,怎么来解析这个文件.如果说服务 ...

  4. 亿速云服务器 如何上传文件,使用MultipartFile怎么实现一个文件上传功能

    使用MultipartFile怎么实现一个文件上传功能 发布时间:2021-01-20 16:43:15 来源:亿速云 阅读:139 作者:Leah 使用MultipartFile怎么实现一个文件上传 ...

  5. js一个文件上传成功后的响应事件处理

    onUploadSuccess: function (file, data, response) { //一个文件上传成功后的响应事件处理console.log(data);},

  6. [共享]一个文件上传的控件,绝对是精品源码

    [共享]一个文件上传的控件,绝对是精品源码 前段时候在www.codeproject.com上看到一个文件上传的控件,觉得很好,共享给园子里的朋友. 原文链接:http://www.codeproje ...

  7. php利用ajax文件上传,如何在PHP中利用AjaxForm实现一个文件上传功能

    如何在PHP中利用AjaxForm实现一个文件上传功能 发布时间:2020-12-18 14:52:38 来源:亿速云 阅读:94 作者:Leah 如何在PHP中利用AjaxForm实现一个文件上传功 ...

  8. Asp.net(C#)利用File Field多文件上传

    Asp.net(C#)利用File Field多文件上传 利用js添加隐藏File Field控件的方法实现多文件上传,除了一定要为form添加encType="multipart/form ...

  9. esp8266 刷 MicroPython固件,并使用MicroPython File Uploader python文件上传工具上传python文件

    1.使用模块esp8266 2.进入固件官网:https://micropython.org/download/esp8266/ 3.将下载的esp8266-20220618-v1.19.1.bin放 ...

最新文章

  1. 【HDU】1237 简单计算器 (stack)
  2. html post 发送两次,JS发送跨域Post请求出现两次请求的解决办法
  3. 网站不经意间过度优化了怎么办?有什么解决方案?
  4. 第二章 XHTML简介
  5. Java Servlet request
  6. Java多线程(四)——多线程数据隔离与共享
  7. rest-framework解析器,url控制,分页,响应器,渲染器,版本控制
  8. python 图像压缩pca_在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
  9. 为小程序添加底部导航
  10. Bloodshed Dev-C++
  11. 工具教程第十一讲:如何加入电报群
  12. 时间复杂度为O(n)的排序(JAVA)
  13. Keil5窗口的背景保护色设置
  14. IP地址定位之IP画像——如何形成IP用户画像?
  15. 计算机在小学英语中的应用,计算机在小学英语教学中的应用.doc
  16. 解决微信公众号注册提示“邮箱已被占用”(亲测)
  17. 我们不只是云主机的管理者,更是云主机的守护神
  18. excel交集和并集的意思_几个excel如何求并集
  19. JNI:ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
  20. linux查看lv逻辑卷信息,Linux学习笔记(lvm pv物理卷—VG卷组—LV逻辑卷)

热门文章

  1. Liverpool一日游
  2. 什么是formal method的invarient
  3. 转:UNITY,如何为你的游戏选择正确的网络类型
  4. 解决nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed错误
  5. 校讯通近期爆发短信诈骗:取消不可能 那如何规范
  6. 手机/移动前端开发需要注意的20个要点
  7. Emacs中使用Forms-mode以表格形式展示/编辑简单的文本数据
  8. exchange 2010 日志规则应用之审计邮箱
  9. hdu-超级密码(BFS)
  10. JSP简单练习-猜字母游戏