通过Web API控制器上传图像时遇到的问题

时间:2019-11-16 13:32:08

标签: asp.net-web-api

您好,我在Godaddy服务器中通过代码上传图像时遇到问题。我正在使用asp.net Web API控制器和Jquery ajax作为前端,我的代码被赋予了休假 这是控制器代码

[Route("api/tblProducts/PostDynamicImages/{CatgoryId}/{Extra1}/{Extra2}/{Extra3}/{Extra4}/{Extra5}/{Extra6}")]
        public Task<HttpResponseMessage> PostDynamicImages(string CatgoryId, string Extra1, string Extra2, string Extra3, string Extra4, string Extra5, string Extra6)
        {




            List<string> savedFilePath = new List<string>();

            // Check if the request contains multipart/form-data
            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }
            //Get the path of folder where we want to upload all files.
            string rootPath = HttpContext.Current.Server.MapPath("~/ProductsImages");

            var provider = new MultipartFileStreamProvider(rootPath);
            // Read the form data.
            //If any error(Cancelled or any fault) occurred during file read , return internal server error
            var task = Request.Content.ReadAsMultipartAsync(provider).
                ContinueWith<HttpResponseMessage>(t =>
                {
                    if (t.IsCanceled || t.IsFaulted)
                    {
                        Request.CreateErrorResponse(HttpStatusCode.InternalServerError, t.Exception);
                    }
                    foreach (MultipartFileData dataitem in provider.FileData)
                    {
                        try
                        {
                            //Replace / from file name
                            string name = dataitem.Headers.ContentDisposition.FileName.Replace("\"", "");
                            //Create New file name using GUID to prevent duplicate file name
                            string newDImgFileName = Guid.NewGuid() + Path.GetExtension(name);
                            //Move file from current location to target folder.
                            File.Move(dataitem.LocalFileName, Path.Combine(rootPath, newDImgFileName));



                            var AltAddress = db.InsertDynamicImages(newDImgFileName, CatgoryId, Extra1, Extra2, Extra3, Extra4, Extra5, Extra6);





                        }

                        catch (Exception ex)
                        {
                            string message = ex.Message;
                        }
                    }

                    return Request.CreateResponse(HttpStatusCode.Created, newDImgFileName);
                });
            return task;


        }

我正在通过此jquery代码发送请求

 $("#btnUploadDImage").click(function () {








               var ImageCat = $("#txtDImgCat").val();



               if ($('#DImgUpfile').val() == '') {
                   alert('Please select file');
                   return;
               }

               var formData = new FormData();

               var file = $('#DImgUpfile')[0];
               formData.append('file', file.files[0]);



               var Extra1 = "Null";
               var Extra2 = "Null";
               var Extra3 = "Null";
               var Extra4 = "Null";
               var Extra5 = "Null";
               var Extra6 = "Null";

               formData.append('ImageData', ImageData);
               alert("hell");
               $.ajax({
                   url: 'http://prasadseed.tpwprintyard.com/api/tblProducts/PostDynamicImages/' + ImageCat + "/" + Extra1 + "/" + Extra2 + "/" + Extra3 + "/" + Extra4 + "/" + Extra5 + "/" + Extra6,
                   type: 'POST',
                   data: formData,
                   contentType: false,
                   processData: false,
                   success: function (d) {

                       alert('file is uploaded successfully');
                       GetDynamicImageDetails();


                   },
                   error: function () {
                       alert('Some thing went wrong');
                   }
               });









           });

问题是当我发送请求时,它给出的响应数据已成功更新,但是我没有在数据库中获取任何图像和数据。请帮助我

0 个答案:

没有答案