示例#1
0
        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="context"></param>
        private static void UploadFile(HttpContext context)
        {
            try
            {
                HttpPostedFile file = context.Request.Files["FileData"];

                int    objId     = Convert.ToInt32(context.Request["ObjId"]);
                int    ObjType   = Convert.ToInt32(context.Request["ObjType"]);
                string FileType  = Convert.ToString(context.Request["FileType"]);
                int    FileSize  = Convert.ToInt32(context.Request["FileSize"]);
                string CreatorId = context.Request["CreatorId"].ToString();
                //string ObjTypeName = Convert.ToString((context.Request["ObjTypeName"]));
                //string uploadpath = HttpContext.Current.Server.MapPath(context.Request["folder"]) + "\\";
                //string uploadpath = @"C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Network Shortcuts\UploadFileTest (10.0.4.18)";
                //string path = @"Z:\";

                //检查文件
                if (FileType != "*" && !FileType.Contains(Path.GetExtension(file.FileName).ToLower()))//验证类型
                {
                    context.Response.Write("typeError");
                    return;
                }
                else if (file.ContentLength > FileSize)//检查文件大小
                {
                    context.Response.Write("sizeError");
                    return;
                }

                if (file != null)
                {
                    /*----已修改(不能用对象初始化器,报代码已经优化,不能计算值)------*/
                    var fileUpload = new FileUploadModel();
                    fileUpload.Objid        = objId;
                    fileUpload.Objtype      = ObjType;
                    fileUpload.Creationip   = HttpContext.Current.Request.UserHostAddress;
                    fileUpload.Creator      = CreatorId;
                    fileUpload.OrigenalName = file.FileName;
                    #region
                    ////走本地
                    //fileUpload = FileUploadBLL.GeneratePathFile(file.FileName, fileUpload);
                    //file.SaveAs(fileUpload.SavePath);//创建文件

                    ////走wcf服务
                    //fileUpload = FileUploadBLL.GeneratePathFile(file.FileName, fileUpload, file.InputStream);

                    ////新方法
                    //string uploadPath =
                    //HttpContext.Current.Server.MapPath(@context.Request["folder"]) + "\\";

                    //if (file != null)
                    //{
                    //    if (!Directory.Exists(uploadPath))
                    //    {
                    //        Directory.CreateDirectory(uploadPath);
                    //    }
                    //    file.SaveAs(uploadPath + file.FileName);
                    //    //下面这句代码缺少的话,上传成功后上传队列的显示不会自动消失
                    //    context.Response.Write("1");
                    //}
                    //else
                    //{
                    //    context.Response.Write("0");
                    //}
                    #endregion
                    //UpLoadAndSaveImage upload = new UpLoadAndSaveImage();
                    ImgUploadService upload = new ImgUploadService();
                    try
                    {
                        string virPath = "";
                        //string physicPath = HttpContext.Current.Server.MapPath(@context.Request.ApplicationPath + "/" + "UploadFile/");

                        byte[] data = new byte[file.ContentLength];

                        file.InputStream.Read(data, 0, file.ContentLength);

                        string physicPath = upload.UpLoadAndSave(data, ref virPath, Path.GetExtension(file.FileName).ToLower());

                        //文件路径等信息,插入数据库
                        fileUpload.Relativepath = virPath;
                        fileUpload.Savepath     = physicPath;
                        fileUpload.Type         = 0;
                        fileUpload = new FileUploadData().InsertFileUpload(fileUpload);



                        string strFileObject = "[{\"Id\":\"" + fileUpload.Id + "\",\"ObjType\":\"" + fileUpload.Objtype
                                               + "\",\"ObjId\":\"" + fileUpload.Objid + "\",\"FileName\":\"" + fileUpload.OrigenalName
                                               + "\",\"FilePath\":\"" + fileUpload.Relativepath + "\",\"ExtName\":\"" + fileUpload.Extentionname
                                               + "\",\"Type\":\"" + fileUpload.Type
                                               + "\",\"physicPath\":\"" + fileUpload.Savepath
                                               + "\",\"Creator\":\"" + fileUpload.Creator + "\",\"CreationIp\":\"" + fileUpload.Creationip + "\"}]";

                        //context.Response.Write(fileUpload.Id.ToString() + "|" + fileUpload.RelativePath + "|" + fileUpload.OrigenalName);
                        context.Response.Write(strFileObject);
                    }
                    catch (Exception ex)
                    {
                        context.Response.Write(ex.Message);
                        return;
                    }
                }
                else
                {
                    context.Response.Write("noFile");
                }
            }
            catch (Exception ex)
            {
                context.Response.Write("Exception:" + ex.ToString());
            }
        }
示例#2
0
        public string UpLoadImage(string fileNamePath, HttpContext context)
        {
            try
            {
                HttpPostedFile file = context.Request.Files[0];

                //获得文件扩展名
                string fileNameExt = Path.GetExtension(file.FileName).ToLower();
                //验证合法的文件
                if (CheckImageExt(fileNameExt))
                {
                    ImgUploadService upload = new ImgUploadService();

                    string virPath = "";
                    byte[] data    = new byte[file.ContentLength];

                    file.InputStream.Read(data, 0, file.ContentLength);

                    string physicPath = upload.UpLoadAndSave(data, ref virPath, Path.GetExtension(file.FileName).ToLower());

                    string FullPath = "http://image.etown.cn/UploadFile/" + virPath;

                    return(FullPath);
                }
                else
                {
                    throw new Exception("文件格式非法,请上传.gif, .jpg, .jpeg, .bmp, .png格式的文件。");
                }
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
            #region
            //try
            //{
            //    string serverPath = System.Web.HttpContext.Current.Server.MapPath("~");

            //    string toFilePath = Path.Combine(serverPath, @"UploadFile\");

            //    //获取要保存的文件信息
            //    FileInfo file = new FileInfo(fileNamePath);
            //    //获得文件扩展名
            //    string fileNameExt = file.Extension.ToLower();

            //    //验证合法的文件
            //    if (CheckImageExt(fileNameExt))
            //    {
            //        //生成将要保存的随机文件名
            //        string fileName = GetImageName() + fileNameExt;

            //        //获得要保存的文件路径
            //        string serverFileName = toFilePath + fileName;
            //        //物理完整路径
            //        string toFileFullPath = serverFileName; //HttpContext.Current.Server.MapPath(toFilePath);

            //        //将要保存的完整文件名
            //        string toFile = toFileFullPath;//+ fileName;

            //        ///创建WebClient实例
            //        WebClient myWebClient = new WebClient();
            //        //设定windows网络安全认证   方法1
            //        myWebClient.Credentials = CredentialCache.DefaultCredentials;
            //        ////设定windows网络安全认证   方法2

            //        context.Request.Files[0].SaveAs(toFile);

            //        string relativePath = System.Web.HttpContext.Current.Request.ApplicationPath + string.Format(@"UploadFile/{0}", fileName);

            //        return relativePath;
            //    }
            //    else
            //    {
            //        throw new Exception("文件格式非法,请上传.gif, .jpg, .jpeg, .bmp, .png格式的文件。");
            //    }
            //}
            //catch (Exception ex)
            //{
            //    return ex.Message;
            //}
            #endregion
        }