0

我在 Filepicker 中有一个应用程序设置。此应用程序直接上传到我的 S3 存储桶。最初的 pickAndStore() 函数运行良好。后续转换函数总是失败,并出现 403 错误“无法使用请求的参数转换 FPFile”。我有以下代码:

try {
    filepicker.setKey(apiKey);
    filepicker.pickAndStore(
        {
            extensions : [ '.jpg','.jpeg','.gif','.png' ],
            container  : 'modal',
            services   : [ 'COMPUTER', 'WEBCAM', 'PICASA', 'INSTAGRAM', 'FACEBOOK', 'DROPBOX' ],
            policy     : policy,
            signature  : signature,
         },
         {
            location   : 'S3',
            multiple   : false,
            path       : path,
         }, 
         function(InkBlobs){
             filepicker.convert(
                 InkBlobs[0], 
                 {
                     width      : 150,
                     height     : 150,
                     fit        : 'max',
                     align      : 'faces',
                     format     : 'png',
                     policy     : policy,
                     signature  : signature,
                  }, 
                  {
                      location   : 'S3',
                      path       : response.path + fileName + '.png',
                  }, 
                  function(InkBlob) {
                      console.log(InkBlob);
                  }, 
                  function(FPError) {
                      console.log(FPError);
                  }
              );

          },
          function(InkBlobs){
              console.log(JSON.stringify(InkBlobs));
          }
      );
  } catch (e) {
      console.log(e.toString());
  }

总是调用错误处理函数。原始的 POST 响应是……

“尝试从 http://res.cloudinary.com/filepicker-io/image/fetch/a_exif,c_limit,f_png,g_face,h_150,w_150/https://www.filepicker.io/api/读取时响应无效文件/ "

...附上我的其余凭据。调试处理程序返回前面提到的消息,其中 moreInfo 参数指向一个 URL“ https://developers.filepicker.io/answers/jsErrors/142 ”,其中没有关于错误的内容。

我认为问题可能是直接使用 S3 意味着文件不存在于 Filepicker 系统上进行转换。我尝试使用标准 pick() 函数而不上传任何 S3,然后转换生成的 InkBlob。这产生了完全相同的错误消息。

任何帮助,将不胜感激。

4

2 回答 2

0

尝试删除策略中的“路径”选项。

在策略中指定路径适用于 pickAndStore(),但如果您在策略中为转换指定路径,filepicker 将给您一个 403 错误来处理转换参数。似乎 API 不知道它是源路径还是目标路径。

于 2013-09-26T13:56:09.023 回答
0

在这种情况下,错误在于使用面和拟合最大值。使用人脸时,只能将适合设置为裁剪。

上面命令中的解释是查找人脸,但将图像设置为适合最大允许大小。

于 2013-07-31T02:28:57.073 回答