如何将视频上传到nativescript中的节点js服务器?

时间:2017-02-02 22:05:30

标签: javascript node.js file-upload amazon-s3 nativescript

在我的nativescript应用程序中,我能够录制视频,但我想将其上传到S3存储桶以便稍后进行流式处理。我正在运行一个节点js服务器来处理我的应用程序的api。

我正在尝试使用'nativescript-background-http'库,但是当我尝试运行uploadFile函数时它总是会中断。

以下是相关代码:

var uploadVideo = function (filepath) {
    console.log("Attempting to upload video...");
    var session = bghttp.session("video-upload");
    var filename = filepath.replace(/^.*[\\\/]/, '');

    var request = {
        url: config.apiUrl + 'upload',
        method: "POST",
        headers: {
            "Content-Type": "video/mp4",
            "File-Name": filename
        },
        description: "{ 'uploading': filename }"
    };
    try {
        var task = session.uploadFile(filepath, request);

        task.on("progress", logEvent);
        task.on("error", logEvent);
        task.on("complete", logEvent);

        function logEvent(e) {
            console.log("Logging event.");
            console.dir(e);
            console.log(e.eventName);
        }
    }
    catch (error) {
        console.dir(error);
        console.log("An error occurred uploading the file. Removing video from filesystem...");

        var documents = fs.knownFolders.documents();
        var file = documents.getFile(filename);
        file.remove()
            .then(function (result) {
                console.log("The video has been removed successfully.");
            }, function (error) {
                console.log("The video could not be removed from the file system.");
                console.dir(error);
            });
    }
};

这是我最终得到的输出:

JS: Video located at /data/user/0/org.nativescript.Lifey/files/videoCapture_1486072596043.mp4
JS: Attempting to upload video...
JS: === dump(): dumping members ===
JS: {
JS:     "nativeException": {
JS:         "constructor": "constructor()function () { [native code] }"
JS:     }
JS: }
JS: === dump(): dumping function and properties names ===
JS: === dump(): finished ===
JS: An error occurred uploading the file. Removing video from filesystem...
JS: The video has been removed successfully.

知道发生了什么事吗? 'nativescript-background-http'库甚至支持视频上传(我只在他们的github上看过图片上传示例)?如果我不能使用该库,是否有一些我可以使用的替代方案?

0 个答案:

没有答案