【发布时间】: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 响应是......
...附上我的其余凭据。调试处理程序返回前面提到的消息,其中 moreInfo 参数指向一个 URL“https://developers.filepicker.io/answers/jsErrors/142”,其中没有关于错误的内容。
我认为问题可能是直接使用 S3 意味着文件不存在于 Filepicker 系统上进行转换。我尝试使用标准的 pick() 函数而不上传任何 S3,然后转换生成的 InkBlob。这产生了完全相同的错误消息。
任何帮助将不胜感激。
【问题讨论】:
-
目前的问题是转换函数中使用的 URL 的长度对于 web 服务文件选择器用来进行转换的长度来说太长了。它太长了,因为附加了策略/签名。目前似乎没有办法解决这个问题。因此,您无法使用具有转换功能的安全功能存储到 S3。
标签: filepicker.io