代码之家  ›  专栏  ›  技术社区  ›  Mohmmad S

试图在C语言中处理AJAX FormData,但需要获取“请求”引用

  •  1
  • Mohmmad S  · 技术社区  · 9 年前

    Request 需要参考。我试图添加对 system.web.httprequest ,但这并没有解决问题。

     [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);
                    }
    
                }
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   Mohmmad S    9 年前

    习惯于 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"));
                            }
    
                        }
                    }
                }
            }