2013-09-21 2 views
0

Я работал с отличным аудиомагнитофоном, который является recorder.js-мастером. Но я не могу сделать загрузку с MVC-контроллером.Как загрузить записанный звук (recorder.js-master) через контроллер MVC?

Вот моя функция javascript.

function AudioUpload(title, description) { 
    Recorder.upload({ 
     method: "POST", 
     url: '@Url.Action("Upload", "Audio")', 
     audioParam: "Recording", 
     params: { 
      "Title": title, 
      "Description": description 
     }, 
     success: function (responseText) {  
      alert(responseText.Success); 
     }, 
     error: function() {     
      alert("error"); 
     }, 
     progress: NULL    
    }); 
} 

Вот мой AudioController

public JsonResult Upload(VoicePassage passage) 
    { 
     //upload Audio 

     return Json(new { Success = true }); 
    } 

У меня есть контрольные точки в Закачай просто знать, что это будет мой контроллер, но это не так. Пожалуйста, помогите. Вот ссылка, которую я придерживаюсь. http://marc.codewisp.com/2013/05/07/in-browser-audio-recording-recorder-js-asp-net-mvc/?replytocom=12#respond

С уважением,

христианские

ответ

2

Я автор оригинального поста вы связаны.

Несколько вещей, чтобы попробовать:

  • Добавить контрольную точку в функции JavaScript: если он не ударил, что-то не так с вашим JavaScript.
  • Проверьте активность вашего браузера: В Chrome, под Developer Tools, перейдите на вкладку Network и загрузите ее. Посмотрите, попадает ли он на правильный URL.
  • Убедитесь, что вы используете '@Url.Action...' внутри вида Razor. Он не будет работать во внешних файлах JavaScript.

Если вам нужно @Url.Action, вы можете использовать его в своем представлении Razor, назначить его временной переменной и использовать ее во внешнем файле JavaScript.

На ваш взгляд, добавьте следующее перед обращением к внешним JS:

<script type="text/javascript"> 
    var audioAction = '@Url.Action("Upload", "Audio")'; 
</script> 

В файле JavaScript, изменить '@Url.Action("Upload", "Audio")' к audioAction, как:

function AudioUpload(title, description) { 
    Recorder.upload({ 
     method: "POST", 
     url: audioAction, 
     audioParam: "Recording", 
     params: { 
      "Title": title, 
      "Description": description 
     }, 
     success: function (responseText) {  
      alert(responseText.Success); 
     }, 
     error: function() {     
      alert("error"); 
     }, 
     progress: NULL    
    }); 
} 
+0

Спасибо! Он указал мне в правильном направлении. Это был прогресс, который я забыл пропустить. – blu3bl00d

 Смежные вопросы

  • Нет связанных вопросов^_^