2013-08-22 5 views
0

Я создаю метод для загрузки резюме. он не показывает никаких ошибок. когда я открываю файл, который он показывает пустой .. нет данных ..загрузка файлов 0 значений

Мой контроллер

 [HandleErrorWithAjaxFilter] 
    public ActionResult UploadResume(HttpPostedFileBase FileData) 
    { 
     Stream fromStream = FileData.InputStream; 
     Stream toStream = new FileStream(Server.MapPath("~/Content/Resumes/") + FileData.FileName, FileMode.Create); 

     LoggedInCandidate.ResumeFileName = FileData.FileName; 
     //_repository.Save(); 
     _userRepository.Save(); 

     return Json(new JsonActionResult 
     { 
      Success = true, 
      Message = "Resume has been uploaded." 
     }); 
     //return Json("Resume has been uploaded."); 
    } 

Вид:

<input id="Resume" type="file" name="Resume" />  

Jquery:

Models.Candidate.AddUploadResumeBehavior = function() { 
$('#Resume').uploadify({ 
    'swf': root + '/Content/Flash/uploadify.swf', 
    'uploader': root + '/Candidates/UploadResume', 
    'cancelImg': root + '/Content/Images/uploadify-cancel.png', 
    'auto': true, 
    'multi': true, 
    'fileDesc': 'Image Files', 
    'fileExt': '*.jpg;*.png;*.gif;*.bmp;*.jpeg;*.doc', 
    'queueSizeLimit': 90, 
    'sizeLimit': 4000000, 
    'buttonText': 'Upload Resume', 
    'width': 200, 
    'folder': root + '/uploads', 
    'onComplete': function (event, queueID, fileObj, response, data) { 
     Models.Candidate.ShowMessageBar("Resume has been uploaded."); 
    }, 
    'onError': function (event, ID, fileObj, errorObj) { 
     var msg; 
     if (errorObj.type === "File Size") 
      msg = 'File size cannot exceed 4MB'; 
     else 
      msg = "An error occured while attempting to uploading resume." 

     Models.Candidate.ShowMessageBar(msg); 
     this.hide(); 
    } 
}); 

};

Пожалуйста, найдите проблемы и помогите мне.

ответ

0

Вы не используете fromStream в своем коде ... Вы просто создаете новый файл и закрываете его. следовательно, длина байта 0.

В .Net 4 вы можете сделать это:

Stream fromStream = FileData.InputStream; 
Stream toStream = new FileStream(Server.MapPath("~/Content/Resumes/") + FileData.FileName, FileMode.Create); 

// Actually upload the bytes! 
fromStream.CopyTo(toStream); 
Смежные вопросы