public async Task <IHttpActionResult> AddProductImg()
        {
            var request = new RequestAddProduct();

            if (!Request.Content.IsMimeMultipartContent())
            {
                return(Ok(new ResponseMsg()
                {
                    IsSuccess = false
                }));
            }
            Dictionary <string, string> dic = new Dictionary <string, string>();
            string root     = HttpContext.Current.Server.MapPath("~/User");//指定要将文件存入的服务器物理位置
            var    provider = new CustomMultipartFormDataStreamProvider(root);

            try
            {
                // Read the form data.
                await Request.Content.ReadAsMultipartAsync(provider);

                // This illustrates how to get the file names.
                foreach (MultipartFileData file in provider.FileData)
                {
                    // fileName = file.Headers.ContentDisposition.FileName;//获取上传文件实际的文件名
                    request.ProductImgUrl = "http://" + Request.RequestUri.Authority + "/User/" + Path.GetFileName(file.LocalFileName);// file.LocalFileName.Split('\\')[3];

                    //Trace.WriteLine("Server file path: " + file.LocalFileName);//获取上传文件在服务上默认的文件名
                }
                request.Introduce       = provider.FormData["Introduce"];
                request.ProductName     = provider.FormData["ProductName"];
                request.ProductTypeName = provider.FormData["ProductTypeName"];
                request.Token           = provider.FormData["Token"];
                return(AddProduct(request));
            }
            catch (Exception ex)
            {
                return(Ok(new ResponseMsg()
                {
                    IsSuccess = false, Msg = ex.Message
                }));
            }
        }
        private IHttpActionResult AddProduct(RequestAddProduct request)
        {
            var tokenResult = IdentityValid.ValidateToken(request.Token);

            if (!tokenResult.IsSuccess)
            {
                return(Json(tokenResult));
            }

            var productbll       = new ProductBLL();
            var productTypebll   = new ProductTypeBLL();
            var productTypeModel = productTypebll.Get(o => o.ProductTypeName == request.ProductTypeName && o.UserName == tokenResult.userName);

            if (productTypeModel == null)
            {
                productTypebll.Save(new ProductType
                {
                    ParentProductTypeId = 0,
                    UserName            = tokenResult.userName,
                    ProductTypeName     = request.ProductTypeName
                });
                productTypeModel = productTypebll.Get(o => o.ProductTypeName == request.ProductTypeName && o.UserName == tokenResult.userName);
            }

            var product = new Product()
            {
                UserName      = tokenResult.userName,
                Introduce     = request.Introduce,
                ProductImgUrl = request.ProductImgUrl,
                ProductName   = request.ProductName,
                ProductTypeId = productTypeModel.ProductTypeId,
                Remark        = request.Remark
            };
            bool isSuccess = productbll.Save(product);

            return(Ok(new ResponseMsg()
            {
                IsSuccess = isSuccess
            }));
        }