1

I am trying to handle uploaded files with this code below, but I get an error that Request reference is required. I tried to add a reference to system.web.httprequest, but this did not fix the problem.

Here is my method:

 [System.Web.Services.WebMethod]

            public static string UploadFile(string ParentPath)
            {


                for (int i = 0; i <   Request.Files.Count; i++)
                {
                    var file = Requset.Files[i];

                    var fileName = Path.GetFileName(file.FileName);

                    var path = Path.Combine(Server.MapPath("~/Junk/"), fileName);
                    file.SaveAs(path);
                }

            }
Robert Columbia
  • 6,313
  • 15
  • 32
  • 40
Mohmmad S
  • 5,001
  • 4
  • 18
  • 50
  • 5
    Possible duplicate of [File upload using MVC 4 with Ajax](https://stackoverflow.com/questions/20420828/file-upload-using-mvc-4-with-ajax) – Isma Sep 12 '17 at 10:08

1 Answers1

0

used handdler.ashx

 public void ProcessRequest(HttpContext content)
        {
            if (content.Request.Files.Count > 0)
            {

                HttpFileCollection files = content.Request.Files;
                for (int i = 0; i < files.Count; i++)
                {
                    HttpPostedFile file = files[i];
                    GSFileInfo fileInfo = new GSFileInfo();
                    using (MemoryStream streamCopy = new MemoryStream())
                    {
                        byte[] fileDataArr = null;
                        content.Request.Files[i].InputStream.CopyTo(streamCopy);
                        string parentPath = content.Request.Form["parentPathHidden"];

                        fileDataArr = streamCopy.ToArray();
                        var test = content.Request.Files[i];

                        string ServerPath = content.Server.MapPath("~/uploads/" + file.FileName);
                        bool read = streamCopy.CanRead;
                        bool write = streamCopy.CanWrite;

                        fileInfo.Name = file.FileName;
                        fileInfo.Path = file.FileName;
                        fileInfo.ParentPath = "root"; //  Need to Read Parent Path From the Request 

                        if (file.ContentType.Contains("image"))
                        {

                            fileInfo.Type = FileType.File;
                        }
                        else
                        {
                            fileInfo.Type = FileType.Folder;
                        }



                        fileInfo.Size = files[i].ContentLength;

                        fileInfo.MD5 = GetMD5(fileDataArr);
                        if (FilesBAL.InsertFile(fileInfo) == DALMessage.Success)
                        {
                            file.SaveAs(ServerPath);
                           content.Response.Write( Home.GetDataByParent("root"));
                        }

                    }
                }
            }
        }
Mohmmad S
  • 5,001
  • 4
  • 18
  • 50