【问题标题】:JQuery Mobile How to send the audio file to serverJQuery Mobile 如何将音频文件发送到服务器
【发布时间】:2014-01-28 03:07:05
【问题描述】:

我已经使用手机 Gap 实现了一个适用于 android 的应用程序。

在应用程序中,我有两个按钮,一个是语音注册,另一个是语音验证。

对于语音注册,我在 Phone Gap 中使用 CaptureAudio 实现了录制功能。效果很好。

现在我需要将记录文件上传到服务器。我已经使用了下面的代码。

function captureSuccess(mediaFiles) {
 var i, len;
 for (i = 0, len = mediaFiles.length; i < len; i += 1) {
alert(mediaFiles[i]);
      uploadFile(mediaFiles[i]);
 }       
}


 function captureError(error) {
 var msg = 'An error occurred during capture: ' + error.code;
 navigator.notification.alert(msg, null, 'Uh oh!');
 }


 function captureAudio() {
 navigator.device.capture.captureAudio(captureSuccess, captureError, {limit: 3);
 }

 // Upload files to server
 function uploadFile(mediaFile) {
 var ft = new FileTransfer(),
 recordingPath = mediaFile.fullPath,
 name = mediaFile.name;

 console.log('Path is: ' + recordingPath);

 ft.upload(recordingPath,
           "Webservice URL",
           function(result) {
alert("Hi");
           console.log('Upload success: ' + result.responseCode);
           console.log(result.bytesSent + ' bytes sent');
           },
           function(error) {
alert("welcome");
           console.log('Error uploading file ' + recordingPath + ': ' + error.code);
           },
           { fileName: name });   

   alert(recordingPath);
}

当我提醒 mediaFiles[i] 收到“对象对象”时。上传后收不到任何回复。

一旦成功,我们就会从服务器收到一些关于音频文件的消息。

我还将音频文件名发送为“话语”。我如何使用 phonegap 和 jquery mobile 做到这一点?

【问题讨论】:

  • 在recordingPath中有什么作用?
  • @DiveshSalian ~ 录音文件路径
  • 尝试上传 1 个文件。我的意思是只录制 1 个音频并检查
  • 我已经检查无响应
  • 尝试在服务器上调试....检查您的请求是否收到并使用HTTPS?

标签: android jquery jquery-mobile cordova


【解决方案1】:

我记得有一个类似的问题,在我的情况下,问题是捕获返回的完整路径,并且上传需要不同格式的文件路径,所以我不得不以上传接受的格式修改完整路径。

还要确保您在上传功能中设置了 mimeType。它默认为图像/JPEG。我不确定您的服务器的行为如何,但如果它有自签名证书,那么您必须将 trustAllHosts 设置为 true。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 2020-01-07
    • 2012-01-27
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多