2014-09-12 6 views
0

저는 제가 경로를 보내려고 (파일 전송 JQ 기능을 가지고 있지만, 내가 파일을 보낼 필요가 지금은 C#으로 받아 바이트 배열로 변환 할 필요가AJAX에서 파일의 모든 바이트를 읽는 방법? .

내가 좋아하는 뭔가가있는 경우 :.

$('#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) 

처럼받을 수 (I 파일을 얻을, 그것은 작품입니다 확인) (난 그냥 모르는 데이터를 얻기 위해 System.IO.File 유형입니다 난 가변 파일의 정의에 대한 필요성 ...) 다른 질문은 System.IO.File을 바이트 배열로 변환 할 수 있습니까?

고맙습니다

+0

당신이 * 실제로 * 파일/스트림이 표시되면 http://stackoverflow.com/questions/221925을/스트림에서 바이트 배열 생성 – user2864740

+2

... 이처럼 브라우저에서 지원되지 않는 ajax 업로드가 아닌가요? 당신이 파일 이름을 받았다고 말할 것입니다 .. 바이트의 흐름이 아닙니다. –

+0

@SimonWhitehead 잘 했어 .. – user2864740

답변

0

File.ReadAllBytes(string path)는 당신에게 파일의 모든 바이트를 제공 할 것입니다.

은 또는 당신 FileInfo 매개 변수에주고, 각 바이트 읽을 수 있습니다 (예)

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)); 
      } 
     } 
관련 문제