【问题标题】:Phonegap File Upload: Empty request body & filesPhonegap 文件上传:空请求正文和文件
【发布时间】:2013-11-13 03:23:46
【问题描述】:

尝试使用 FileTransfer 插件将 amr 文件从移动设备上传到带有 Phonegap 的服务器。

var uri = "./" + $scope.audio.src;
$scope.audio.release();

var options = new FileUploadOptions();

options.fileKey = "audio";
options.fileName = uri.substr(uri.lastIndexOf('/') + 1);
options.mimeType = "audio/AMR";
options.httpMethod = "POST";
options.chunkedMode = false;

console.log("Options:", options);

options.params = {
    exhibitId: $scope.id,
    title: $scope.title,
    email: $scope.email
};

var ft = new FileTransfer();
ft.upload(uri, encodeURI("http://someurl.com/api/recording/create"), 
    $scope.uploadSuccess, 
    $scope.uploadFailure, 
    options
);

其中音频是Media 对象。

在服务器 (nodejs) 上检查时,请求对象的主体和文件属性为空,并且标头中的内容长度设置为 0。似乎文件未正确附加到请求。

【问题讨论】:

    标签: javascript android node.js cordova


    【解决方案1】:

    这是因为您没有正确设置路径。您需要使用绝对路径才能执行此操作,您可以使用 requestFileSystem 和 fullPath 来获取此信息。

    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, 
        function(fileSystem){ 
            fileSystem.root.fullPath; 
    });
    

    【讨论】:

      猜你喜欢
      • 2019-03-13
      • 2020-12-07
      • 2017-07-26
      • 2017-10-11
      • 2021-08-10
      • 2019-05-20
      • 2019-10-16
      • 1970-01-01
      • 2013-07-30
      相关资源
      最近更新 更多