关于ASP.NET的FileUpload控件

来源:互联网 发布:51单片机复位电路详细 编辑:程序博客网 时间:2024/06/06 18:47

    最近在做一个实现上传文件相关的小功能。

    因为是asp.net平台,所以理所当然的想到了FileUpload控件。

    关于这个控件有几个特性需要注意。

     第一,这个控件有自己的上传方法:SaveAS。

              要使用SaveAs方法,需要先进行一些check。一般通用的方法是

        FileUpload.HasFile()
,这个方法的确可以check是否加载了文件。但是有一个问题,那就是在上传的文件是0KB的情况下,这个方法返回的是false。那么如果需要上传的文件是0KB的话,怎么办呢?根据我的研究,可以使用
        FileUpload.PostedFile.FileName!=string.Empty
 进行判断,这样的话 ,如果选择了0KB的文件,返回的是true。但是这样问题又来了,上传的文件(非0KB)如果在选择之后被改名,那么出发SaveAs方法,还是会在原来的目标文件夹生成一个0KB的文件。显然这不是预期的效果。于是我修改了条件:

        if(FileUpload.hasFile || (FileUpload.PostedFile.FileName!= string.Empty))

这样虽然在逻辑上纠正.0KB的情况,但是还是会将实际不存在的文件上传成一个0KB的文件。现在的解决方案就是在上传时Check一下Client端是否有这个文件,确认之后再上传。

不知道这算不算是FileUpload控件的一个问题。暂且先这样处理。

    第二,这个控件有上传文件大小的限制,根据测试,默认情况下上传超过30M的文件的时候,就会出错。修改这个默认值的方法,网上有很多,这里不多说了。

    第三,这个控件有临时文件的概念,但是有一些古怪的地方。当C/S端都在本地的时候,如果删除了之前选择的文件,触发SaveAs事件,那么这个文件会被完好的复制到目标路径。但是如果Client端和Server端分处两地,那么删除的文件依然会被复制,有文件名但是大小是0KB。这个问题还有待继续研究。


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小米5手机突然黑屏没电怎么办 小米4开不了机怎么办充电没反应 小米手机充电没反应开不了机怎么办 红米note手机开不了机怎么办 红米手机突然黑屏开不了机怎么办 红米2a开不开机怎么办 红米4手开不了机怎么办 红米4a开不了机怎么办 魅族手机拨打电话时黑屏怎么办 金立手机拨打电话时黑屏怎么办 红米手机刷机黑屏了怎么办 酷派手机开机黑屏但能嗡嗡响怎么办 酷派手机忘记锁屏密码怎么办 酷派手机锁屏密码忘了怎么办 酷派手机不停的开机关机怎么办 苹果6手机进水了开不了机怎么办 金立手机突然黑屏开不了机怎么办 丢失手机又忘了ID锁怎么办? 小米2按出电话后黑屏怎么办 华为手机桌面拨号键没有了怎么办 华为荣耀5x黑屏后无法关机怎么办 华为手机突然黑屏电池充不了怎么办 华为手机恢复出厂设置后黑屏怎么办 华为荣耀畅玩6a内存不够怎么办 红米note4玩王者荣耀卡怎么办 华为荣耀5a手机被锁怎么办 华为荣耀v8应用锁忘记蜜码怎么办 阿里巴巴一键代销被投诉受假怎么办 登录小米云服务怎么删除密码怎么办 苹果6云空间连接不上怎么办 买家收到淘宝网交易异常通知怎么办 快递把我秒杀的货弄丢了怎么办 手机淘宝退货物流单号填错了怎么办 买家要求退货退款但是不发货怎么办 多给买家寄包裹不接电话怎么办 给买家发货物流单号错了怎么办 淘宝退货退款快递单号填错了怎么办 淘宝不小心点了延迟收货怎么办 淘宝快递地址错了货已经发了怎么办 卖家送运费险买家填错单号怎么办 买家无赖点了延迟收货卖家怎么办