C#图片上传与下载

本文主要介绍了使用C#进行图片上传的操作步骤,包括文件选择、文件读取、文件上传到服务器的实现细节,同时涵盖了错误处理和安全考虑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、上传:

html页面代码:
<form name="form1" method="post" action="Handler1.ashx" enctype="multipart/form-data">
    <!--<form name="form1" method="post" action="WebForm2.aspx" enctype="multipart/form-data">-->
    <input id="files" name="files" type="file" />
    <input id="Submit1" type="submit" value="submit" />
</form>

一般处理程序:

    try
            {             
                if (context.Request.Files.Count > 0)
                {
                    //判断文件大小  
                    int length = context.Request.Files[0].ContentLength;
                    if (length > 52428800)
                    {
                        context.Response.Write("文件大于50M,不能上传");
                        return;
                    }

                    string type = context.Request.Files[0].ContentType;
                    string fileExt = Path.GetExtension(context.Request.Files[0].FileName).ToLower();
                    //只能上传图片,过滤不可上传的文件类型  
                    string fileFilt = ".gif|.jpg|.php|.jsp|.jpeg|.png|......";
                    if (fileFilt.IndexOf(fileExt) <= -1)
                    {
                        context.Response.Write("对不起!请上传图片!!");
                        return;
                    }
                    else
                    {
                        Page p = new Page();
                        string fileName = p.Server.MapPath(_directory) + "\\" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + rnd.Next(10, 99).ToString()
                            + fileExt;

                        // // 如果是aspx页面,这里直接Server.MapPath...
                        //string fileName = Server.MapPath(_directory) + "\\" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + rnd.Next(10, 99).ToString()
                        //+fileExt;
                        context.Request.Files[0].SaveAs(fileName);
                        context.Response.Write("上传成功!");
                    }
                }
                else
                {
                    context.Response.Write(context.Request.Files.Count);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
相关文档(C#上传与下载): http://blog.youkuaiyun.com/pan_junbiao/article/details/7185382
关于form表单标签的enctype属性的作用: http://blog.youkuaiyun.com/user_longling/article/details/38538479

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值