小编Rië*_*iël的帖子

UrlFetchApp 在 Google Apps 脚本中上传文件 multipart/form-data

我需要将文件上传到第三方服务。这些文件是在 Google Drive 上创建的,我获取了它的 blob 数据。

我想创建一个多部分请求,当我执行 UrlFetchApp Post 时,它现在看起来像这样。

这是字符串形式的有效负载。我有一些生成有效负载的代码。正确格式化不是问题,问题是它应该是的格式。

-----------------0.13accb4c42d338
Content-Disposition: form-data; name="source"; filename="Zzapps.jpg"
Content-Type: application/octet-stream

[[[IMAGE DATA HERE -- OMITTED FOR BREVITY]]]

-----------------0.13accb4c42d338
Content-Disposition: form-data; name="filename"

Zzapps.jpg
-----------------0.13accb4c42d338--
Run Code Online (Sandbox Code Playgroud)

这是执行 UrlFetchApp 命令的代码段。

var authHeaders = {
   Authorization: 'OAuth2 '+access_token
}
 var params = {
    accept: "application/json",
    method: 'POST',
    payload: payload,
    contentType: 'multipart/form-data; boundary='+boundaryKey,
    headers: authHeaders,
    ContentLength: payload.length,
    muteHttpExceptions: true
}
Run Code Online (Sandbox Code Playgroud)

var resx = UrlFetchApp.fetch(url, params);

接收方给出错误(缺少源)。我不确定我的多部分帖子一开始是否正常,我没有找到任何测试 URL 来检查我是否进行了正确的上传。

如何以正确的方式将 blob 数据作为分段上传发送?现在我使用 blob.getDataAsString() <-- 这是正确的吗?

multipartform-data google-apps-script

8
推荐指数
1
解决办法
1万
查看次数

在Javascript数组中查找绝对最大值

我正在寻找一种很好的方法来找到数组的最大ABSOLUTE值.

我的阵列是ie

var array = [10,20,40,-30,-20,50,-60];
Run Code Online (Sandbox Code Playgroud)

然后:

Math.max.apply(null,array);
Run Code Online (Sandbox Code Playgroud)

将导致'50'.但实际上,我希望它返回'60'.

选项是使用Math.abs创建第二个数组,但实际上我想知道是否可以组合apply函数,所以它是一个优雅的解决方案.

javascript arrays math max absolute

6
推荐指数
1
解决办法
4041
查看次数

Firebase Cloud Messaging 现有服务工作人员

我正在尝试将 firebase-messaging-sw.js 添加到我的应用程序中,但我已经在使用 service-worker.js。

我可以添加代码并将 FCM 指向 service-worker.js 吗?或者我应该如何处理这个问题?

polymer service-worker firebase-cloud-messaging

5
推荐指数
0
解决办法
245
查看次数

将多个图像添加到视频 fluent-ffmpeg

我设法将单个图像添加到在特定时间开始并在特定时间结束的视频中,但我找不到对多个图像执行此操作的方法。我用的是流利的ffmpeg。

这是我的代码:

ffmpeg('../videos/testklein.mp4')
     .input('../src/test.png')
     .input('../src/0.png')
     .input('../src/1.png')
     .addOptions([
        "-strict -2"
     ])

     .complexFilter([
        {
          filter: 'overlay',
          options: {
            x: 200,
            y: 200,
            enable: 'between(t,1,3)',

          }}, {
          filter: 'overlay',
          options: {
            x: 200,
            y: 200,
            enable: 'between(t,3,5)',
          }},
           {
          filter: 'overlay',
          options: {
             x: 200,
            y: 200,
            enable: 'between(t,5,7)',
          }
      },

    ])
Run Code Online (Sandbox Code Playgroud)

我想我需要明确说明哪个过滤器应该采用哪个文件,但我不确定其语法。

ffmpeg node.js fluent-ffmpeg

4
推荐指数
1
解决办法
3698
查看次数

Node.js进度指示器反馈

我对使用Node.js“请求”发送的进度有疑问。我有一个充当代理的Node.js应用程序,实际上将主体转发到另一台服务器。我想查看此上传操作的进度。现在我正在这样做:

BROWSER 
   -> UPLOAD TO NODE 
   -> UPLOAD TO 3rd PARTY SERVICE 
   -> RETURN 3rd PARTY RESPONSE TO BROWSER
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我将其记录下来以检查console.log取得了多少进展。但是,也有可能返回一个

res.send(progress)
Run Code Online (Sandbox Code Playgroud)

同时,在等待上传完成并将客户端发送回客户端的同时,上传成功了吗?

BROWSER 
   -> UPLOAD TO NODE
   -> UPLOAD TO 3rd PARTY SERVICE 
       -> RETURN progress <- 
       -> RETURN progress <- 
       ...etc.
   -> RETURN 3rd PARTY RESPONSE TO BROWSER
Run Code Online (Sandbox Code Playgroud)

这是上载代码(非常简单)。

var requestOptions = {
    timeout: 120000,
    url: url, //URL to hit
    method: 'post',
    headers: headers,
    body: payload //Set the body as a string
};


request(requestOptions, function (error, response, body) { …
Run Code Online (Sandbox Code Playgroud)

javascript node.js

3
推荐指数
1
解决办法
5209
查看次数

如何验证Firebase安全规则中的电子邮件地址

我一直在用户数据保存在参考ID下,以及一些包含电子邮件地址的用户信息.我想让数据可用,但阻止人们猜测ID并查看其背后是否有信息.

如果他们向我提供他们注册的ID和电子邮件地址,我只想提供数据.

所以我将这些数据存储在Firebase中:

{ "data" : {
   "ms12345678" : { 
       "name" : "John Doe",
       "age"  : 40,
       "email" : "johndoe@domain.com"
    }
}
Run Code Online (Sandbox Code Playgroud)

var ref = firebase.database().ref("data/ms12345678")除非我提供,否则这样做应该会失败johndoe@domain.com.

我不知道我应该采取什么方法.我不希望用户进行身份验证,但为他们提供链接.

javascript firebase firebase-security firebase-realtime-database

3
推荐指数
1
解决办法
1714
查看次数