收藏 分享(赏)

文件上传突破四兆.doc

上传人:myw993772 文档编号:7302797 上传时间:2019-05-14 格式:DOC 页数:7 大小:153KB
下载 相关 举报
文件上传突破四兆.doc_第1页
第1页 / 共7页
文件上传突破四兆.doc_第2页
第2页 / 共7页
文件上传突破四兆.doc_第3页
第3页 / 共7页
文件上传突破四兆.doc_第4页
第4页 / 共7页
文件上传突破四兆.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、第 3 讲 名片信息作成真理:对数据库的插入、修改或者删除一定要到 SQL Server 中看一看。1、知识点 FileUpload 控件文件名SaveAs()方法文件大小突破 4M Button 属性CommandArgument ViewState 对象添加新项获取某项的值删除项2、本节课任务使用 FileUpload 控件上传文件 第 22 页画面详细 页面的图形显示 用语言描述页面的功能 项目一览 页面上有哪些控件,控件的作用 项目移送表 控件的数据来源,与数据库的关系 imgFront 和 imgBack 与表 TRN_MID 中的 MIDFRONT 和MIDBACK 字段相关联 处

2、理式样 在那个事件中编程,实现什么功能. 具体实现 涉及到引用的类和方法 方法参数和返回值的说明 CommonOperation.GenerateFileName()3、如何测试 如何屏蔽 login.aspx 页面? 打开数据库 CardDB 中的 TRN_MID 表,(TRN_MID 中的 MIDFRONT和 MIDBACK,见项目移送表教材 24 页)4、知识扩展Button 的 CommandArgument 属性 选中 btnPost 按钮,属性窗口 CommandArgument 初始值是 1. 如何判断 Button 的 CommandArgument 属性是何种数据类型?在按钮

3、 Click 事件中写代码 btnPost.CommandArgument 如何实现点奇数次是正面,偶数次是背面?在按钮 Click 事件中写代码修改 btnPost.CommandArgument 的值 简单总结:程序中主要是对 btnPost.CommandArgument 的初始化,读取值和写值(值的修改)5、文件上传控件 FileUpload 上传后的文件名 CommonOperation.GenerateFileName() 获取文件的扩展名(详细见下页) 百度: 获取文件扩展名 第一项: 小问题,如何获得上传文件的扩展名 .NET 技术 / ASP.NET - CSDN. 文件上传

4、的调试: 先将 fileName 设置为常量进行调试 测试能否正确上传 如果文件大小超过 4M,则需要经过特殊设置才能上传. (跳过去见下下页)6、获取文件的扩展名查找出错根源 try: str=str.Remove(0,str.LastIndexOf(“.“) File1.PostedFile.ContentType.ToString(); System.IO.Path.GetExtension(“路径“) 思想: 首先测试常量能否上传,然后将文件名和扩展名分别显示在 TextBox 中.7、文件大小突破 4M 的解决方案 解决方案: 需要在 WebConfig 里面修改配置,默认的最大请求

5、长度是 4 兆,但是可以改的。如下: 捎带知识点:加注释 先加注释,再点取消注释按钮8、ViewState 对象 不同点: ViewState 相当于一个动态对象数组 (集合) ViewState 是一个页面内的全局数组 Session 是整个项目的全局数组 添加和修改子项:ViewState“imgFront“ =“hello” 相同点: Session 和 ViewState 的用法基本相同9、文件上传流程图10、System.IO 中的和文件目录有关的三个类:File 类、Directory 类、Path 类File 类 public static bool Exists(string

6、path); public static void Delete(string path); public static void Copy(string sourceFileName,string destFileName,bool overwrite); public static FileStream Open(string path,FileMode mode) public static FileStream Create(string path) public static void Move(string sourceFileName,string destFileName);D

7、irectory 类 public static DirectoryInfo CreateDirectory(string path); public static void Delete(string path,bool recursive); public static void Move(string sourceDirName,string destDirName); public static string GetDirectories(string path); public static string GetFiles(string path); public static bo

8、ol Exists( string path); Path 类 ChangeExtension:文件扩展名被更改为新的值 Combine:两个路径值被合并在一起 GetDirectoryName:当前路径的目录被返回 GetExtension:包含在路径里的文件扩展名被返回 GetFileName:从路径返回文件名和扩展名 GetFileNameWithoutExtension:没有扩展名的文件名被返回 GetFullPath:完整的路径被返回 GetPathRoot:返回路径的根目录 GetTempFileName:字符串包含一个唯一的文件名 GetTempPath:字符串值包含临时文件夹路

9、径 HasExtension:指示路径是否包含文件扩展名的布尔值 IsPathRooted:指示路径是否包含绝对路径的布尔值11、颜色处理 Label1.BackColor= System.Drawing.Color.FromArgb(0, 255, 0); Label1.BackColor = System.Drawing.Color.FromName(“#00ffff“); 百度: 创建 System.drawing.color 能不能将#000000 类型的颜色值转换成 System.Drawing.Color 这种类型12、具体授课内容与授课思路(1)UnitControls()函数将

10、 imgFront 和 imgBack 显示为 CardImages 文件夹中的 Front.JPG 和Back.JPG授课方法:学生自己写将文本框的文本清空-根据页面上的控件顺序授课方法:只写 3 个例子,把剩余的文本框的文本清空的代码给学生。将复选框置空授课方法:学生自己写很简单将下拉列表填充(从数据库中提取数据代码方式)授课方法:先讲一个例子,然后学生自己做设置公开、重要度、职业、关系、血型、性别等列表框的数据年月日下拉列表初始化(和数据库无关的数据填充)授课方法:按照下面的提示让学生自己做。/(int year)把当前年份负值给 year。/在下拉菜单中的索引 0 的位置,加入“-”/

11、把 1920-目前年份,设定为下拉菜单的内容。(降序)/把 12 个月份,设定为下拉菜单的内容。/把31天填充入下拉列表框 /设定“-”为选中项 lbMassage标签置空授课方法:学生自己写(2) btnPost_Click上传按钮单击事件(主要是图片上传)总体思路:先讲例子,然后学生自己做。介绍 Button 的 CommandArgument 属性授课方法:讲一个奇数次点击显示 1,偶数次显示 2 的例子。介绍两种解决方案:I ViewState 对象;II CommandArgument 属性。介绍图片上传的方法授课方法:先介绍图片上传的例子,然后介绍如何实现图片扩展名判断,图片改名(

12、防止互相覆盖),(根据逻辑或相对地址)获取网站所在物理路径。具体业务逻辑:按照下面的提示让学生自己做。首先判断文件常上传控件 fldPath 是否选择了文件(fldPath.HasFile 属性)如果没选择则提示出错(lbMessage);选择了则判断文件格式是否是 “.gif“, “.png“, “.jpeg“, “.jpg“, “.bmp“ 中的一种,不是则提示文件格式错误;是则获取 Temp 文件及在服务器上的物理路径,获取重新生成的文件名,上传。如果 btnPost 的 CommandArgument 属性为 “1“则 imgFront 显示为上传图片,否则 imgBack 显示为上传

13、图片。(3) btnFinished_Click上传按钮单击事件对于各个控件的验证见教材 30页和 41页。知识点: 字符串对象的方法 LengthIndexOf()字符串包含Contains()Substring() Replace()ToLower()ToUpper()Trim()TrimStart()TrimEnd()Remove()Insert()LastIndexOf()属性:字符串长度方法:字符串位置、字符串包含、截取子串、替换、大小写转换、去掉空格、去掉子串、插入子串、从后面查找位置。半角字符等验证请参照教材 31、32 页内容授课方法:先讲一个例子,然后学生自己做 首先是验证数

14、据格式验证公司名: I 公司名不为空;公司名不能包含【】和【%】。如果公司名中含有【】和【%】则提示错误;否则将其赋值给 tne 对象的对应属性。公司名(拼音)应输入半角英数字公司名(英文)应输入半角英数字部门名职位姓名(姓):I 不能为空;只能输入全角文字和半角英字。姓名(名):I 不能为空;只能输入全角文字和半角英字。姓名拼音(姓)请输入半角英文姓名拼音(名)请输入半角英文文件导出直接赋值。(tm 对象)邮政编码 1 只能输入 6 位半角数字省 1、市 1、区 1、住址 1 直接赋值电话 1-1 只能输入半角数字和半角符号 - (连字符)手机 1 只能输入半角数值邮箱 1 的格式错误url1 请以 URL 的形式输入公开(tm 对象)重要度(tne 对象)关系(tne 对象)职业(tne 对象)性别(tne 对象)血型(tne 对象) 名片信息写入数据库教材 45 页card.AddCardInfo(tne, tm);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报