2013-12-16 3 views
1

확인을 클릭하십시오.양식 데이터를 보내고 이미지 파일을 ashx로 보내고 데이터 엔티티에 넣으십시오.

양식에 이름, 주소 등이있는 페이지가 있습니다 ... 또한 양식에 이미지를 첨부 할 수있는 fileupload 컨트롤이 있습니다.

지금은 ... $ 아약스를 사용하려고, ASHX 파일로

그리고 다음 ASHX 파일에 엔티티 프레임 워크를 사용하여 레코드를 삽입을 양식 데이터와 이미지 파일을 전달하고 싶습니다.

이제 formdata를 보낼 수 있지만 파일이 문자열이 아니라는 것을 이해하기 위해 ashx 파일을 얻을 수는 있습니다. 현재 생각하는대로 SQL 이미지 데이터 형식에 삽입합니다.

$("#submit").click(function() { 
    var file = $("#file")[0].Files[0]; 
    var fd = new FormData(); 
    fd.append("address", $("#street").val() + "; " + $("#city").val() + "; " + $("#postcode").val()); 
    fd.append("firstname", $("#firstname").val()); 
    fd.append("lastname", $("#lastname").val()); 
    fd.append("avatar", file); 
    $.ajax({ 
     type: "POST", 
     contentType: false, 
     processData: false, 
     url: "<%= Page.ResolveUrl("~/GlobalUpdate.ashx?update=info")%>", 
     data: fd 
    }).success(function (data) { 

    }); 
    }); 

답변

1

정상적인 동작처럼 보입니다. 보이는 문자열은 실제로 기본 64 문자열로 포맷 된 파일 내용 (바이트)입니다. 그렇다면 기본 64 문자열에서 바이트를 가져와 데이터베이스에 thw 바이트를 저장하는 것만 큼 문제가됩니다. 그것을 시도하고 당신이 폼 데이터와 함께 파일을 업로드하려면 다음 플러그인을 사용해야합니다

당신이 $ 아약스를 사용하여 파일을 업로드 할 수 없다

관련 문제