
上传突破四兆.doc
6页第3讲 名片信息作成真理:对数据库的插入、修改或者删除一定要到SQL Server中看一看1、知识点• FileUpload控件· 文件名· SaveAs()方法· 文件大小突破4M• Button属性· CommandArgument• ViewState对象· 添加新项· 获取某项的值· 删除项2、本节课任务—使用FileUpload控件上传文件l 第22页画面详细l 页面的图形显示l 用语言描述页面的功能l 项目一览l 页面上有哪些控件,控件的作用l 项目移送表l 控件的数据来源,与数据库的关系l imgFront和imgBack与表TRN_MID中的MIDFRONT和MIDBACK字段相关联l 处理式样l 在那个事件中编程,实现什么功能.l 具体实现l 涉及到引用的类和方法l 方法参数和返回值的说明l CommonOperation.GenerateFileName()3、如何测试• 如何屏蔽login.aspx页面?• 打开数据库CardDB中的TRN_MID表,(TRN_MID中的MIDFRONT和MIDBACK,见项目移送表—教材24页)4、知识扩展★★★Button的CommandArgument属性• 选中btnPost按钮,属性窗口àCommandArgument初始值是1.l 如何判断Button的CommandArgument属性是何种数据类型?· 在按钮Click事件中写代码btnPost.CommandArgumentl 如何实现点奇数次是正面,偶数次是背面?· 在按钮Click事件中写代码修改btnPost.CommandArgument的值Ø 简单总结:程序中主要是对btnPost.CommandArgument的初始化,读取值和写值(值的修改)5、文件上传控件FileUploadl 上传后的文件名l CommonOperation.GenerateFileName()l 获取文件的扩展名(详细见下页)l 百度:获取文件扩展名l 第一项:小问题,如何获得上传文件的扩展名 .NET技术 / ASP.NET - CSDN...p 文件上传的调试:£ 先将fileName设置为常量进行调试£ 测试能否正确上传£ 如果文件大小超过4M,则需要经过特殊设置才能上传. (跳过去见下下页)6、获取文件的扩展名—查找出错根源• try: • str=str.Remove(0,str.LastIndexOf(".")) • File1.PostedFile.ContentType.ToString(); • System.IO.Path.GetExtension("路径") p 思想:• 首先测试常量能否上传,然后将文件名和扩展名分别显示在TextBox中.7、文件大小突破4M的解决方案p 解决方案:• 需要在WebConfig里面修改配置,默认的最大请求长度是4兆,但是可以改的。
如下:•
③将复选框置空授课方法:学生自己写—很简单④将下拉列表填充(从数据库中提取数据—代码方式)授课方法:先讲一个例子,然后学生自己做设置公开、重要度、职业、关系、血型、性别等列表框的数据⑤年月日下拉列表初始化(和数据库无关的数据填充)授课方法:按照下面的提示让学生自己做//(int year)把当前年份负值给year//在下拉菜单中的索引0的位置,加入“--”//把1920-目前年份,设定为下拉菜单的内容降序)//把12个月份,设定为下拉菜单的内容//把31天填充入下拉列表框 //设定“--”为选中项 ⑥lbMassage标签置空授课方法:学生自己写(2) btnPost_Click上传按钮单击事件(主要是图片上传)总体思路:先讲例子,然后学生自己做①介绍Button的CommandArgument属性授课方法:讲一个奇数次点击显示1,偶数次显示2的例子介绍两种解决方案:I ViewState对象;II CommandArgument属性②介绍图片上传的方法授课方法:先介绍图片上传的例子,然后介绍如何实现图片扩展名判断,图片改名(防止互相覆盖),(根据逻辑或相对地址)获取网站所在物理路径具体业务逻辑:按照下面的提示让学生自己做。
首先判断文件常上传控件fldPath是否选择了文件(fldPath.HasFile属性)如果没选择则提示出错(lbMessage);选择了则判断文件格式是否是{ ".gif", ".png", ".jpeg", ".jpg", ".bmp" }中的一种,不是则提示文件格式错误;是则获取Temp文件及在服务器上的物理路径,获取重新生成的文件名,上传如果btnPost的CommandArgument属性为 "1"则imgFront显示为上传图片,否则imgBack显示为上传图片3) btnFinished_Click上传按钮单击事件对于各个控件的验证见教材30页和41页知识点:• 字符串对象的方法◎ Length· IndexOf()字符串包含· Contains()· Substring() · Replace()· ToLower()· ToUpper()· Trim()· TrimStart()· TrimEnd()· Remove()· Insert()· LastIndexOf()属性:字符串长度方法:字符串位置、字符串包含、截取子串、替换、大小写转换、去掉空格、去掉子串、插入子串、从后面查找位置。
半角字符等验证请参照教材31、32页内容授课方法:先讲一个例子,然后学生自己做Ø 首先是验证数据格式①验证公司名: 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);。
