用jsphtml:file实现一个文件上传的例子,而且有验证
<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实现一个文件上传的例子,而且有验证相关推荐
- php 上传多个txt文件上传,一个多文件上传的例子(原创)
一个多文件上传的例子(原创) 更新时间:2006年10月09日 00:00:00 作者: //filename:multi_upload.php if($ifupload) { $path=Add ...
- File Upload(文件上传漏洞)
File Upload: 文件上传漏洞 通常是由于对上传文件的类型.内容没有进行严格的过滤.检查,使得攻击者可以通过上传木马获取服务器的webshell权限 Low: 源代码; <?phpif( ...
- File Upload(文件上传)
File Upload 前言 文件上传漏洞:攻击者上传了一个可执行的脚本文件,通过此脚本文件获得了执行服务器端命令的功能.文件上传是否会产生漏洞关键在于服务器怎么来处理,怎么来解析这个文件.如果说服务 ...
- 亿速云服务器 如何上传文件,使用MultipartFile怎么实现一个文件上传功能
使用MultipartFile怎么实现一个文件上传功能 发布时间:2021-01-20 16:43:15 来源:亿速云 阅读:139 作者:Leah 使用MultipartFile怎么实现一个文件上传 ...
- js一个文件上传成功后的响应事件处理
onUploadSuccess: function (file, data, response) { //一个文件上传成功后的响应事件处理console.log(data);},
- [共享]一个文件上传的控件,绝对是精品源码
[共享]一个文件上传的控件,绝对是精品源码 前段时候在www.codeproject.com上看到一个文件上传的控件,觉得很好,共享给园子里的朋友. 原文链接:http://www.codeproje ...
- php利用ajax文件上传,如何在PHP中利用AjaxForm实现一个文件上传功能
如何在PHP中利用AjaxForm实现一个文件上传功能 发布时间:2020-12-18 14:52:38 来源:亿速云 阅读:94 作者:Leah 如何在PHP中利用AjaxForm实现一个文件上传功 ...
- Asp.net(C#)利用File Field多文件上传
Asp.net(C#)利用File Field多文件上传 利用js添加隐藏File Field控件的方法实现多文件上传,除了一定要为form添加encType="multipart/form ...
- esp8266 刷 MicroPython固件,并使用MicroPython File Uploader python文件上传工具上传python文件
1.使用模块esp8266 2.进入固件官网:https://micropython.org/download/esp8266/ 3.将下载的esp8266-20220618-v1.19.1.bin放 ...
最新文章
- 【HDU】1237 简单计算器 (stack)
- html post 发送两次,JS发送跨域Post请求出现两次请求的解决办法
- 网站不经意间过度优化了怎么办?有什么解决方案?
- 第二章 XHTML简介
- Java Servlet request
- Java多线程(四)——多线程数据隔离与共享
- rest-framework解析器,url控制,分页,响应器,渲染器,版本控制
- python 图像压缩pca_在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
- 为小程序添加底部导航
- Bloodshed Dev-C++
- 工具教程第十一讲:如何加入电报群
- 时间复杂度为O(n)的排序(JAVA)
- Keil5窗口的背景保护色设置
- IP地址定位之IP画像——如何形成IP用户画像?
- 计算机在小学英语中的应用,计算机在小学英语教学中的应用.doc
- 解决微信公众号注册提示“邮箱已被占用”(亲测)
- 我们不只是云主机的管理者,更是云主机的守护神
- excel交集和并集的意思_几个excel如何求并集
- JNI:ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
- linux查看lv逻辑卷信息,Linux学习笔记(lvm pv物理卷—VG卷组—LV逻辑卷)
热门文章
- Liverpool一日游
- 什么是formal method的invarient
- 转:UNITY,如何为你的游戏选择正确的网络类型
- 解决nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed错误
- 校讯通近期爆发短信诈骗:取消不可能 那如何规范
- 手机/移动前端开发需要注意的20个要点
- Emacs中使用Forms-mode以表格形式展示/编辑简单的文本数据
- exchange 2010 日志规则应用之审计邮箱
- hdu-超级密码(BFS)
- JSP简单练习-猜字母游戏