C# 如何从AJAX读取文件的所有字节?

C# 如何从AJAX读取文件的所有字节?,c#,ajax,file,C#,Ajax,File,我有一个JQ函数可以发送文件(我尝试发送路径,但我需要发送文件。现在我需要在C#中接收并转换为字节数组) 如果我有类似于: $('#i_submit').click(function (event) { $.ajax({ url: "Main/CP_Upload", data: { "name": name,"type":type,"file":file } }); }); (我检查它是否工作,获取文件) 我能像你一样收到吗 public void CP_Upload(

我有一个JQ函数可以发送文件(我尝试发送路径,但我需要发送文件。现在我需要在C#中接收并转换为字节数组)

如果我有类似于:

$('#i_submit').click(function (event) {
  $.ajax({
    url: "Main/CP_Upload",
    data: { "name": name,"type":type,"file":file }
  });
});
(我检查它是否工作,获取文件)

我能像你一样收到吗

public void CP_Upload(string name,string type,File file)
(我得到数据,只是我不知道变量文件定义所需的System.IO.File类型…) 另一个问题是我是否可以键入System.IO.File转换为字节数组

Thanx

文件。ReadAllBytes(字符串路径)将为您提供文件中的所有字节

或者,您可以输入
FileInfo
参数,并读取每个字节: (示例)


如果您确实有一个文件/流,请参见……浏览器不支持这样的ajax上载吗?我想说您收到的是一个文件名……不是一个字节流。@SimonWhitehead很好地捕捉到了。。
  var fi = new FileInfo(path);
  using (FileStream fs = fi.OpenRead()) 
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);

            while (fs.Read(b,0,b.Length) > 0) 
            {
                Console.WriteLine(temp.GetString(b));
            }
        }