fre*_*ent 1 coldfusion amazon-s3 file-exists amazon-web-services
我正在运行Coldfusion8并将文件上传到 Amazon S3。
显示图像时,我想检查 S3 是否有可用图像,如果没有则显示后备图像。我的问题是,不知道如何检查现有图像。
如果我列出图像的链接,它是这样的:
http://s3.amazonaws.com/bucket/l_138a.jpg?AWSAccessKeyId=_key_&Expires=_exp_&Signature=_signature_
Run Code Online (Sandbox Code Playgroud)
我正在尝试检查现有文件,如下所示:
<cfif fileExists("http://s3.amazonaws.com/bucket/s_" & items.filename)>
<cfdump output="e:\website\test\dump.txt" label="catch" var="found!!!">
</cfif>
Run Code Online (Sandbox Code Playgroud)
问题:检查图像时
我是否总是必须提供?accesskey, expires and signature如果我在浏览器中输入没有凭据的图像路径,则会加载图像,所以我不明白为什么我的fileExist不工作。任何想法?
如果您设置了站点范围内的页面未找到消息,则可以使用 cfhttp。
<cfhttp url="http://a.espncdn.com/photo/2012/0813/nfl_u_flynn1x_203.jpg" method="head">
<cfdump var="#cfhttp.filecontent#">
Run Code Online (Sandbox Code Playgroud)
返回 java.io.ByteArrayOutputStream 的对象
<cfhttp url="http://a.espncdn.com/photo/20notanimage3.jpg" method="head">
<cfdump var="#cfhttp.filecontent#">
Run Code Online (Sandbox Code Playgroud)
回报<html> <body> <h1>Error Processing Request</h1> </body> </html>
还可以检查服务器返回的statuscode
<cfhttp url="http://a.file.exists.gif" method="head">
<cfdump var="#val(cfhttp.statuscode)#">
Run Code Online (Sandbox Code Playgroud)
200 可以,404 未找到等
| 归档时间: |
|
| 查看次数: |
3398 次 |
| 最近记录: |