【问题标题】:Ink Filepicker convert - The FPFile could not be converted with the requested parametersInk Filepicker convert - 无法使用请求的参数转换 FPFile
【发布时间】:2013-09-26 22:02:00
【问题描述】:

我在 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/file/"

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

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

任何帮助将不胜感激。

【问题讨论】:

  • 目前的问题是转换函数中使用的 URL 的长度对于 web 服务文件选择器用来进行转换的长度来说太长了。它太长了,因为附加了策略/签名。目前似乎没有办法解决这个问题。因此,您无法使用具有转换功能的安全功能存储到 S3。

标签: filepicker.io


【解决方案1】:

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

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

【讨论】:

  • 嗨劳尔。不幸的是,这似乎对响应没有任何影响。从您的服务器返回相同的 400 BAD REQUEST。 “[uuid=CF627296031D4DAC] 尝试从 res.cloudinary.com/filepicker-io/image/fetch/… 读取时响应无效”。我已经在转换上使用完全默认设置进行了尝试,但也没有成功。任何其他建议。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2020-02-07
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-04
    相关资源
    最近更新 更多