javascript - 如何创建视频并将其上传到解析服务器?

标签 javascript cordova typescript ionic-framework ionic2

我可以使用解析服务器将图像文件上传到 S3。 (通过从 Base64 图像数据创建解析文件并在解析文件上执行 save() )

如何对视频文件执行相同的操作?我正在使用 Ionic 2 应用程序中的 parse-server js 库和 typescript 来执行此操作。以下代码适用于图像。

let file = new Parse.File("thumbnail", { base64: imageData });
        file.save().then(() => {
            // The file has been saved to Parse.
            console.log("File uploaded....");
        }, (error) => {
            // The file either could not be read, or could not be saved to Parse.
            console.log("File upload failed.");
        });

如果是视频文件,我有从 cordova 媒体捕获回调收到的文件位置。帮我上传视频文件。

谢谢

最佳答案

这是我经过几天研究后的解决方案。 它适用于 iPhone。
重要的声明是这样的: data=data.replace("quicktime","mov");

var options = { limit: 1, duration: 30 };
navigator.device.capture.captureVideo(function(files){
    // Success! Audio data is here
    console.log("video file ready");
    var vFile = files[0];
    console.log(vFile.fullPath);
    ///private/var/mobile/Containers/Data/Application/7A0069EB-F864-438F-A685-A0DAE97F8B2D/tmp/capture-T0x144510b50.tmp.GfXOow/capturedvideo.MOV
    self.auctionvideo = vFile.fullPath; //localURL;
    console.log(self.auctionvideo);

    var fileReader = new FileReader();
    var file;
    fileReader.onload = function (readerEvt) {
        var data = fileReader.result;
        data=data.replace("quicktime","mov");
        console.log(data);
        //data:video/quicktime;base64,AAAAFGZ0
        console.log(data.length);
        self.auctionvideo=data;
        self.videofile = {base64:data};
    };
    //fileReader.reasAsDataURL(audioFile); //This will result in your problem.
    file = new window.File(vFile.name, vFile.localURL, 
                           vFile.type, vFile.lastModifiedDate, vFile.size);
    fileReader.readAsDataURL(file); //This will result in the solution.
    // fileReader.readAsBinaryString(file); //This will result in the solution.
},
function(error){

},
options);

关于javascript - 如何创建视频并将其上传到解析服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38402624/

相关文章:

javascript - 我如何像 Java 包一样组织我的 Angular 应用程序文件夹?

javascript - 展开/折叠引导 Vue.js 表中的所有操作

JavaScript MD5 哈希与 Java Applet MD5 哈希?

android - phonegap在android studio中开发,config.xml错误uri未注册

javascript - Phonegap使用媒体插件播放音频

css - 在 Next.js 中应用全局样式

angular - 如何将 Chart.js 与 Typescript 一起使用而不会出现可分配的错误?

javascript - 在 Highcharts 中捕获平移事件

javascript - 如何在图表上的 x 轴标签文本后面添加元素?

java - 服务器端通知Phonegap反向ajax