C#使用HTML文件中的file文件上传,用C#代码接收上传文件

单独做图片上传很简单,如果要客户端要上传头像保存到服务器就要稍微麻烦一点点了。

不多说了,直接上源码:

private void Upload()        

{

            string jsonInfo = string.Empty;

  

    ///这句是关键,它是获取HTTP中文件流 的对象集合。

            HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files;

            string mobile = string.IsNullOrEmpty(Request.Form["mobile"]) ? Request.QueryString["mobile"] : Request.Form["mobile"];

            string fName = "";

            // string.IsNullOrEmpty(Request.Form["filename"]) ? Request.QueryString["filename"] : Request.Form["filename"];

            string status = string.Empty;

            string error = string.Empty;

    ///在这里我们只取其中一个上传对象操作

             fName = hfc[0].FileName;

            try

            {

                string[] list;

                if (!string.IsNullOrEmpty(fName))

                {

                    list = fName.Split('.');

                    if (list.Length > 1)

                    {

                        string ftype = list[1].ToLower();

                        if (ftype == "jpg" || ftype == "png" || ftype == "jpeg")

                        {

                            fName = mobile + "." + list[1];

                            string filePath = "../CSS/headmiages/";

                            hfc[0].SaveAs(System.IO.Path.Combine(MapPath(filePath), fName));

                            RockUserInfo userInfo = new RockUserInfo();

                            userInfo.LogOnPhoneNum = mobile;

                            //根据手机号查询出用户基本信息

                            userInfo = SearchByPhone(userInfo);

                            userInfo.filename = fName;

                            //插入头像信息保存

                            Save(userInfo);

                            status = "0";

                            error = "";

                        }

                        else

                        {

                            status = "1";

                            error = "请上传 .jpg/.png/.jpeg/类型的图片";

                        }

                    }

                }

                else

                {

                    status = "1";

                    error = "请上传 .jpg/.png/.jpeg/类型的图片";

                }

                //fileload.in

            }

            catch (Exception ex)

            {

                status = "2";

                error = ex.ToString();

            }

            jsonInfo = "{\"" + "status" + "\":\"" + status + "\"," + "msg" + "\":\"" + error + "}";

            Response.Write(jsonInfo);

        }

这样就 OK了,在服务器端保存上传文件,操作数据库就基本达到目标了。很简单吧!

这段代码经过测试是没有问题的,如果有不合理之处还望大家指出来共同进步。

posted @ 2014-03-18 13:24  闪存第一莽撞人  阅读(1180)  评论(0编辑  收藏  举报