2013-03-07 7 views
0
을 저장하십시오.

나는 수천 번 $ .post를 사용했습니다. 하지만 이번에는 게시하는 데이터와 함께 GIF 이미지 파일도 게시하고 싶습니다. asp.net C#을 사용하여 서버에 파일을 저장해야하지만 jquery를 사용하여 파일을 보내는 방법과 C#을 사용하여 파일을 가져 오는 방법을 알지 못합니다. request.aspx에jquery로 파일을 게시하고 C#

<input type="file" id="img" /> 


$.post('request.aspx',{name: 'someValue', price: somePrice, img: $('#img').val()}, function(){ 
alert('data saved'); 
}); 

및 사용 C#을 게시 된 데이터를 가져오고이를 사용 :이 그런 짓을 할

string name = Request.Form["name"]; 
string price = Request.Form["price"]; 
//and some how get the image... 

답변

1

나는 비슷한 짓을했는지를 그러나 그것을 달성하기 위해 캔버스를 요소를 사용 : 핸들러에

dataURL = canvas.toDataURL("image/png"); 
        dataURL = dataURL.replace(/^data:image\/(png|jpg);base64,/, ""); 
        jQuery.post("/admin/Handlers/HelpImageUpload.ashx", { img: dataURL }, function (data) { 

         pcHelp.Show(); 
        }); 

:

VAR 바이트 = Convert.FromBase64String (context.Request [ "img"]);

+0

이미지 및 파일 입력 유형 인 경우 다른 대답이 표시되면 실제로 컨트롤의 빌드를 사용하여 선택할 수 있어야합니다. –

+0

이것은 가능하지만 gif 이미지가 커질 수 있으므로 (최대 1MB) 문제가되지 않습니까? ie6, ie7 같은 오래된 브라우저에서 작동할까요? –

+0

나는 다음과 같이 사용했다 : var reader = new FileReader(); reader.readAsDataURL (file); 이전 버전의 IE에서 작동하지 않는 캔버스 대신 –

0

POST 요청을 사용하여 파일을 업로드하려면 업로드 컨트롤을 양식에 포함시키고 간단한 양식을 제출하십시오. 양식 게시물에 대한 콜백을 처리하려면 jQuery From plugin

관련 문제