- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
背景
我想录制学生的演讲,然后将他们的录音自动上传到 Google 云端硬盘。
现状
我有客户端代码可以生成包含 .ogg
记录的 blob。
var blob = new Blob(chunks, { 'type' : 'audio/ogg; codecs=opus' });
我可以在 doPost()
请求中将 blob 发送到 Google 应用程序脚本独立脚本。在这种情况下,我使用带有 promise 的 axios。
axios.post("https://script.google.com/macros/s/SOME_ID/exec", blob)
.then((response)=>{
console.log(response)
}).catch(error =>{
console.log(error)
})
blob 到达独立脚本。
独立的 Google 应用程序脚本
function doPost(e) {
var params = JSON.stringify(e.parameters);
createNewSoundFile(params)
return ContentService.createTextOutput(params);
}
function createNewSoundFile(blob){
var title = 'Was created from a recording'
var folderId = 'SOME_FOLDER_ID'
var resource = {
title: title,
parents: [
{
"id": folderId,
"kind": "drive#fileLink"
}
],
mimeType: 'application/vnd.google-apps.audio',
};
try{
var newfile = Drive.Files.insert(resource, blob).id
} catch(e){
// Send error to Google sheet
// Exception: The mediaData parameter only supports blob types for uploads.
}
}
问题
上面的应用程序脚本代码表示 blob 不是支持的媒体类型。
问题
如何从在浏览器中创建的 .ogg
blob 在 Google 驱动器中创建一个新的 .ogg
文件?
最佳答案
这些修改怎么样?
blob
编码成base64,作为字符串数据发送。blob
,并保存为一个ogg文件,mimeType为audio/ogg
。audio/ogg
。
audio/ogg
转换为 application/vnd.google-apps.audio
。axios.post("https://script.google.com/macros/s/SOME_ID/exec", blob)
.then((response)=>{
console.log(response)
}).catch(error =>{
console.log(error)
})
var reader = new FileReader();
reader.readAsDataURL(blob);
reader.onloadend = function() {
base64 = reader.result.replace(/^.*,/, "");
let data = new URLSearchParams();
data.append('data', base64);
axios.post(
"https://script.google.com/macros/s/SOME_ID/exec",
data,
{headers: {'Content-Type': 'application/x-www-form-urlencoded'}}
).then((response)=>{
console.log(response)
}).catch(error =>{
console.log(error)
});
}
function createNewSoundFile(base64){
var data = Utilities.base64Decode(base64.parameters.data); // Added
var blob = Utilities.newBlob(data); // Added
var title = 'Was created from a recording'
var folderId = 'SOME_FOLDER_ID'
var resource = {
title: title,
parents: [
{
"id": folderId,
// "kind": "drive#fileLink" // I didn't know whether this is required.
}
],
mimeType: "audio/ogg", // Modified
};
try{
var newfile = Drive.Files.insert(resource, blob).id
} catch(e){
// Send error to Google sheet
// Exception: The mediaData parameter only supports blob types for uploads.
}
}
{headers: {'Content-Type': 'application/x-www-form-urlencoded'}}
。如果您的环境不需要它,请将其删除。如果我误解了你的问题,我很抱歉。
关于javascript - 将 .ogg blob 转换为谷歌驱动器文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48255683/
我执行以下操作以检查远程计算机上的本地驱动器/分区: Get-WmiObject -Class Win32_Share -ComputerName SERVERNAME -Filter "Descri
我正在尝试扫描包含成千上万个文件的共享网络驱动器,仅查找过去一年中未修改的Word文件。虽然我写的东西行得通,但速度非常慢。我需要扫描多个驱动器,这需要几个小时。我有什么办法可以加快速度? gci \
我记得在 vb6 中有一个类似于 dropbox/combobox 的控件,您可以选择驱动器名称。它会引发一个事件,然后您可以设置另一个控件来枚举列表框中的文件。 (在 drive.event 中你做
USB 驱动器有哪些安全风险? USB 驱动器优点是体积小、容易获得、价格低廉且便于携带,因此在将文件从一台计算机存储和传输到另一台计算机方面很受欢迎。然而,这些优点特征使它们对攻击者具有吸引
驱动器的编程对黑客编程来说至关重要。好在vbs给我们提供了方便的集合,使得工作变得很简单。 1、检查驱动器 使用filesy
我正在尝试编写批处理文件以将文件夹xcopy到可移动USB驱动器。但是,我面临的问题是驱动器号可能会发生变化,因此我希望能够通过引用卷标而不是驱动器号来做到这一点。 有任何想法吗?一个小时的Googl
我正在用 C# 开发一个应用程序,因此,如果用户确认消息框格式化 USB 驱动器,从组合框列表中选择,驱动器将被格式化。 我不知道如何处理这个问题,但是 - 我有以下代码: public stati
我正在尝试将文件保存到 icloud 驱动器。我会选择简单的版本,我不让用户选择保存文件的位置,我只是将它保存在 icloud 驱动器的根目录中。这是我正在使用的代码: func exportToFi
我正在尝试创建一个脚本,我将在其中搜索文件服务器的非继承权限。结果,我遇到了文件名 260 个字符的限制。我看到的一个建议,我认为会有所帮助,有几次是创建一些非持久性的 PS 驱动器,深度为几个级别并
我正在制作一个 USB 驱动器,其中应包含有助于解决用户遇到的各种软件问题的工具。 您建议我添加哪些工具? 主要环境:Windows和.NET 最佳答案 我可以推荐以下内容:{其中一些已经被提及} 日
因此,在稀缺的introduction to inegration testing中,您应该使用 flutter drive --target=test_driver/app.dart 但是我找不到有
我正在尝试让 docker 挂载我的 d 驱动器。一直在与大量的 stack 和 git 作斗争,但它们似乎都不适合我。 我已经将我的d盘添加到共享文件夹 然后我安装在我的 docker-compos
我正在尝试以编程方式从 Powershell 应用程序中安全地删除 USB 驱动器。我当前的代码适用于单卷 USB 驱动器。代码如下: $Eject = New-Object -comObject S
我有一个乏味的项目即将到来。我需要将 USB 闪存驱动器插入计算机,然后将三个文件复制到该驱动器,然后卸载它并重复 3000 次(字面意思)。我希望能想出一些 VBScript 来减少我的 Actio
我正在编写一个提取 xml 的文件以获取文件名,并且需要将这些文件复制到 USB 驱动器。前两个步骤我能够做到这一点。但问题是: 如何检测是否有 U 盘 然后检测它是哪个驱动器。 谢谢! 最佳答案 这
在我的 Java Web 应用程序中,需要单击“保存文件”按钮将 6 个文件从服务器复制到用户计算机 USB 驱动器。 如果未找到 USB 驱动器,则需要显示警告消息“未检测到 USB 驱动器”。 我
您好,我有以下查询来获取 12 个月前的时间窗口内每月发生的驱动器。然而,结果并不正确,例如,在我的测试数据库中,2 月份仅发生了 3 个驱动器,但在我的结果集中,它显示了 9 个驱动器。 SELEC
我一直在尝试找到一种通过 swift 2 和 Xcode 7 连接到我的网络驱动器的方法。我可以连接到我的桌面或文档目录,但不能连接到我的服务器。我玩过 NSString/NSURL 等但无济于事。以
我有几个问题: 以下 C++ 代码是否会导致我的硬盘在经过一定时间后空闲? #include int main() { while(1); } 如果是这样,我可以在此代码中添加什么以确保我的
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
我是一名优秀的程序员,十分优秀!