Javascript 如何获取上传文件的URL?
我正在成功地将文件上载到S3 但是,我在尝试获取上传文件的URL时遇到了问题 我看到有一个getKey方法,但它似乎不像我想的那样工作 本质上,我试图用上传文件的链接替换列出的文件名。如果上传人无法获得指向文件的链接,则无法上传文件 所以我一直在尝试获取上传对象的URL或键,并计划在“完成”事件中修改文件名文本 也许有更好的方法修改最终文件名文本 以下是我似乎不起作用的东西:Javascript 如何获取上传文件的URL?,javascript,amazon-s3,fine-uploader,Javascript,Amazon S3,Fine Uploader,我正在成功地将文件上载到S3 但是,我在尝试获取上传文件的URL时遇到了问题 我看到有一个getKey方法,但它似乎不像我想的那样工作 本质上,我试图用上传文件的链接替换列出的文件名。如果上传人无法获得指向文件的链接,则无法上传文件 所以我一直在尝试获取上传对象的URL或键,并计划在“完成”事件中修改文件名文本 也许有更好的方法修改最终文件名文本 以下是我似乎不起作用的东西: }).on('complete', function (event, id, name, responseJSO
}).on('complete', function (event, id, name, responseJSON) {
// Fails, not using the fineuploader object correctly, manualuploader is the fineuploader object.
console.log("Object Key:+manualuploader.getKey(id));
});
您有两个选择:
getKey
方法或任何其他方法,则必须这样做。上面代码中对getKey
方法的调用与文档不一致。您需要像这样调用getKey:$(“#uploader”)。fineUploader3(“getKey”,id)
您有两个选项:
另外,如果您在使用jQuery插件时试图在一个优秀的Uploader实例上调用
getKey
方法或任何其他方法,则必须这样做。上面代码中对getKey
方法的调用与文档不一致。您需要像这样调用getKey:$(“#uploader”).fineUploader3(“getKey”,id)
你好,Ray,感谢您的快速响应。不幸的是,我仍然有一个小问题。我试图找到服务器返回的完整JSON响应,但在处理“complete”事件和查看JSONresponse变量时,我只看到一个简单的“success:true”实体。我确实在一些发送到控制台的调试输出中看到HTML响应似乎已被捕获,它确实包含完整的URL,事实上,我看到我的服务器上的PHP处理程序被设置为像fineuploader示例一样返回“templink”。所以,我似乎无法得到正确的JSON响应,谢谢你的帮助。你不应该返回HTML。您必须返回JSON作为对上传成功POST请求的响应。看一看S3PHP演示代码,它在fineuploader.com上用于从服务器返回到客户端的链接。如果您遵循这个示例,它将起作用。将响应参数的内容打印到控制台,或者在您选择的javascript调试器中检查它。如果看不到所需的属性,请查看HTTP流量并重新检查服务器端代码。我会缺少哪些权限?发布HTTP/1.1 HTTP/1.1 200确定。。。内容类型:text/html致命错误:未捕获Aws\S3\Exception\AccessDeniedException:Aws错误代码:AccessDenied,状态代码:403,Aws请求ID:2D529E5D8FC68856,Aws错误类型:客户端,Aws错误消息:访问被拒绝,用户代理:aws-sdk-php2/2.4.6 Guzzle/3.7.3 curl/7.19.7 PHP/5.3.24插入/home/content/68/8770868/html/fineuploader/aws/aws/Common/Exception/NamespaceExceptionFactory.PHP第91行
你好,谢谢你的快速回复。不幸的是,我仍然有一个小问题。我试图找到服务器返回的完整JSON响应,但在处理“complete”事件和查看JSONresponse变量时,我只看到一个简单的“success:true”实体。我确实在一些发送到控制台的调试输出中看到HTML响应似乎已被捕获,它确实包含完整的URL,事实上,我看到我的服务器上的PHP处理程序被设置为像fineuploader示例一样返回“templink”。所以,我似乎无法得到正确的JSON响应,谢谢你的帮助。你不应该返回HTML。您必须返回JSON作为对上传成功POST请求的响应。看一看S3PHP演示代码,它在fineuploader.com上用于从服务器返回到客户端的链接。如果您遵循这个示例,它将起作用。将响应参数的内容打印到控制台,或者在您选择的javascript调试器中检查它。如果看不到所需的属性,请查看HTTP流量并重新检查服务器端代码。我会缺少哪些权限?发布HTTP/1.1 HTTP/1.1 200确定。。。内容类型:text/html
致命错误:未捕获Aws\S3\Exception\AccessDeniedException:Aws错误代码:AccessDenied,状态代码:403,Aws请求ID:2D529E5D8FC68856,Aws错误类型:客户端,Aws错误消息:访问被拒绝,用户代理:aws-sdk-php2/2.4.6 Guzzle/3.7.3 curl/7.19.7 PHP/5.3.24插入/home/content/68/8770868/html/fineuploader/aws/aws/Common/Exception/NamespaceExceptionFactory.PHP,第91行