OnClientClick知识+一个上传的例子
文件名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Image ID="Image1" runat="server" />
<br/>
<input type="file" name="f1" id="f1">
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" OnClientClick="return exisitExit()" />
<script>
function exisitExit() {
var f1 = document.getElementById("f1");
var ext= f1.value.substring(f1.value.lastIndexOf("."));
if (ext == ".jpg" || ext == ".jpeg" || ext == ".gif") {
return true;
}
else {
alert("文件类型不符合人要求");
return false;
}
}
</script>
OnClientClick是客户端脚本,一般使用javascript,在客户端,也就是IE中运行,点击后马上执行
protected void Button1_Click(object sender, EventArgs e)
{
//路径 文件名 扩展名 要求的存储格式~数组
HttpPostedFile hf = Request.Files["f1"];
string filename = hf.FileName;//全路径:F:\asp\456.jpg :FileName要上传的文件所在地
string Imgname = Path.GetFileName(filename);//文件名:456
string ext = Path.GetExtension(Imgname).ToLower();//获取拓展名:.jpg
Response.Write(Imgname + "<br/>" + ext);
string[] exts = {".jpg",".jpeg",".png",".bmp",".gif" };
bool tag = false;
foreach (string item in exts)
{
if (item == ext)
{
tag = true;
break;
}
}
if(tag) //扩展名符合要求,upload 自定义日期(dir) dirpath SaveAS(durpath+imgname)
{
if (hf.ContentLength < 1024 )
{
string uppath="upload/";
string dir = DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day;
string dirpath = Server.MapPath(uppath + dir);
if (!Directory.Exists(dirpath))
{
Directory.CreateDirectory(dirpath);
}
if (TextBox1.Text != "")
{
Imgname = TextBox1.Text + ext;
}
hf.SaveAs(dirpath + Imgname);
Image1.ImageUrl = uppath + dir + Imgname;
Image1.Width = 400;
Image1.Height = 300;
}
else
{
Response.Write("<script>alert('上传文件太大')</script>");
}
}
else
{
Response.Write("<script>alert('文件格式不对')</script>");
}
}
OnClientClick知识+一个上传的例子的更多相关文章
- 【Spring Boot】关于上传文件例子的剖析
目录 Spring Boot 上传文件 功能实现 增加ControllerFileUploadController 增加ServiceStorageService 增加一个Thymeleaf页面 修改 ...
- 以一个上传文件的例子来说 DistributedFileSystem
public class UploadAndDown { public static void main(String[] args) { UploadAndDown uploadAndDown = ...
- php文件上传的例子
1.上传表单 upload.html 程序代码 [html] view plaincopy <form enctype="multipart/form-data" actio ...
- 关于自定义一个上传的file按钮
在input中html给我们一个 type file用来做文件上传的功能,比如 但是这样的样式,实在难看,在开发的时候看了layui和bootstrap的点击上传,都很不错. 前者的调用方式和js的 ...
- ASP.net 能写一个上传整个文件夹的东东(msdn)
IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头. 一. 两个必要响应头Accept-Ranges.ETag 客户端每次提交下载请求时,服务 ...
- ASP.net 能写一个上传整个文件夹的东东
IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头. 一. 两个必要响应头Accept-Ranges.ETag 客户端每次提交下载请求时,服务 ...
- [moka同学代码]PHP初级知识:上传文件源码
1.目录结构
- 一个上传EXCEL导入示例
REPORT ZTEST_UPEXCEL. data: gt_table type TABLE OF SFLIGHT, gs_table like line of gt_table. DATA:lt_ ...
- JS组件系列——自己封装一个上传文件组件
页面调用: $('#fileUpload').cemsUpload({ errorEmpty:'<s:text name="cupgrade.view.tip.upload.file. ...
随机推荐
- Non-ASCII character '\xe8' in file xxx.py on line 8, but no encoding declared
使用网上某个python程序.编译时报错: File "xxx.py", line 8 SyntaxError: Non-ASCII character '\xe8 ...
- Mysql 数据迁移后 启动出错
今天上班后不知道为什么,mysql一直无法启动,折腾了半天于是决定重装 我本地的server用的是wamp , 重装的时候, 要进行数据备份 , 我使用的最简单粗暴的备份方式, 就是直接进入到mysq ...
- zzulioj--1719--小胖的疑惑(整数划分+dp打表)
1719: 小胖的疑惑 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 108 Solved: 51 SubmitStatusWeb Board De ...
- Java TreeMap 介绍和使用
转自:https://www.cnblogs.com/skywang12345/p/3310928.html 概要 这一章,我们对TreeMap进行学习. 我们先对TreeMap有个整体认识,然后再学 ...
- calender怎么获取每周的周日(给每周的周日特定时间点设置定时)
获取每周的周日 //如果是周日,特殊处理.老外的周日-周六为一周 calendarTemp.add(Calendar.WEEK_OF_MONTH,1); calendarTemp.set(Calend ...
- IP地址的正则表达式写法
这里讲的是IPv4的地址格式,总长度 32位=4段*8位,每段之间用.分割, 每段都是0-255之间的十进制数值. 将0-255用正则表达式表示,可以分成一下几块来分别考虑: 取值区间 特点 正则写法 ...
- angular 报错笔记
1.错误信息: Failed to instantiate module app due to: Error: [$injector:unpr] http://errors.angularjs.org ...
- 从 MVC 到微服务,技术演变的必经之路
架构模式演进 CGI 模式 图 1 CGI 出现于 1993 年,图 1 是 CGI 模式比较简单的结构图. MVC 模式 开源电商软件等都是采用 MVC 模式,MVC 模式是做软件开发必学和必经历的 ...
- React-Router-API中文介绍
React-Router API 以下内容翻译自react-router/doc/API.md,方便使用时查看,之前的学习都是能够工作即可,但一些内在发生的行为并不知晓,借此理解一番: ##Compo ...
- bzoj2333 [SCOI2011]棘手的操作(洛谷3273)
题目描述 有N个节点,标号从1到N,这N个节点一开始相互不连通.第i个节点的初始权值为a[i],接下来有如下一些操作:U x y: 加一条边,连接第x个节点和第y个节点A1 x v: 将第x个节点的权 ...