2013-06-26 3 views
0

나는이 내 MVC 3 응용 프로그램에서 다음 코드 조각 :HttpFilePostedBase 매개 변수가 null

보기 :

@(Html.Telerik().Upload() 
     .Name("insertAttachement") 
     .Multiple(false) 
     .Async(async => async.Save("InsertUpload", "DocumentMaquette")) 
     .Localizable("fr-CH") 
         .ClientEvents(events => events 
           .OnLoad("handleUploadControlLoad") 
           .OnUpload("handleInsertUpload") 
          ) 
     ) 

컨트롤러 방법 :

public void InsertUpload(HttpPostedFileBase attachement) 
    { 
     DocumentMaquetteModel model = new DocumentMaquetteModel(); 
     model.fileName_DMQ = attachement.FileName;    
    } 

JS 파일 이벤트 핸들러 :

function handleInsertUpload(e) { 
    console.log(e.files); 
} 


function handleUploadControlLoad() { 
    // handle buttons 
    $(this).parent().find('.t-button.t-grid-insert, .t-button.t-grid-cancel').remove(); 

    // schedule grid refresh on window close 
    $(this).closest('.t-window').on('close', refreshGrid); 
} 
function refreshGrid() { 
    $('.t-grid').data('tGrid').ajaxRequest(); 
} 

Th

[Object] 
0: Object 
extension: ".odt" 
name: "ListeDeParticipantsParSP.odt" 
rawFile: File 
size: 761691 
__proto__: Object 
length: 1 
__proto__: Array[0] 

하지만 난 첨부 파일에서 파일 이름을 가져하려고 할 때 매개 변수가 null이기 때문에 컨트롤러 방법 나는는 NullReferenceException 예외를 얻을 : 콘솔에서 전자 출력됩니다.

이에 대한 정보는 언제든지 환영합니다.

감사합니다. Silviu

+0

try catch 블록에 파일 업로드 논리를 래핑하여 예외를 catch하고 이에 따라 처리합니다. 나중에 문제가 생길 수 있습니다. – mezmi

답변

1

질문을 게시 한 후 몇 초 만에 응답이 왔습니다. Telerik 컨트롤은 Upload에 주어진 이름을 사용하여 파일 매개 변수를 메서드에 보냅니다. 따라서 저장시 사용되는 메서드에는 항상이라는 HttpPostedFileBase 매개 변수가 있어야합니다. 이 경우 메서드는 insertAttachement라는 매개 변수를 가져야합니다. 그림을 이동!

감사합니다.

+0

고마워요, 제게 많은 도움이됩니다. – MayogaX