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. ...
随机推荐
- iOS CoreData介绍和使用(以及一些注意事项)
iOS CoreData介绍和使用(以及一些注意事项) 最近花了一点时间整理了一下CoreData,对于经常使用SQLite的我来说,用这个真的有点用不惯,个人觉得实在是没发现什么亮点,不喜勿喷啊.不 ...
- VMware虚拟机ubuntu显示屏幕太小解决办法
使用VMware安装的ubuntu虚拟机的显示屏幕太小,可以通过在VMware里安装"VMware Tool"插件解决,安装步骤记录一下. 1. 更改ISO文件路径 安装VMwar ...
- vuejs2.0 文档
http://vuejs.org/ vuejs2.0 英文文档 https://vuefe.cn/ vuejs2.0 中文文档
- 133.throw机制 抛出类类型
#include <iostream> using namespace std; //try尝试执行,抛出throw,throw之后语句不再执行 //catch处理throw的异常 voi ...
- iReport5.6.0使用说明
1,需要安装jdk1.7,因为目前还不支持最新的jdk1.8 2,安装好软件之后,打开安装目录下的etc/ireport.conf文件,配置关联自己的jdk1.7的路径,如下: #jdkhome=&q ...
- java基础——单例设计模式(懒汉式)
public class Test7 { // 主函数 public static void main(String[] args) { Test7.getInstance().function(9, ...
- NPOI 给导出Excel添加简单样式
需求分析:如下图为我之前导出的Excel数据,没有一点样式,标题行不明显,各个列的数据紧凑,查看数据时得手动拉宽每列,故这次要针对以上问题对它进行优化 结果展示: 代码: /// <summar ...
- gin golang xorm
https://blog.csdn.net/keytounix/article/details/79337587
- 大数相乘(牛客网ac通过)
2019-05-172019-05-17 大数相乘基本思想: 相乘相加,只不过大于10先不进位到计算完后统一进位 #include <iostream> #include <stri ...
- 创建私有CA, 加密解密基础, PKI, SSL
发现了一篇图文并茂的超棒的 加密解密, CA, PKI, SSL 的基础文章, 链接如下:https://blog.csdn.net/lifetragedy/article/details/5223 ...