我Attachment
在 Doctrine 中有一个实体,它引用了 Amazon S3 上的文件。我需要能够在实体上提供一种“计算字段”,以计算出我所说的downloadpath
. 这downloadpath
将是一个计算的 URL,例如http://site.s3.amazon.com/%s/attach/%s我需要用实体本身的值(帐户和文件名)替换两个字符串值,所以;
http://site.s3.amazon.com/1/attach/test1234.txt
尽管我们使用了服务层,但我希望它downloadpath
始终可以在实体上使用,而不必通过 SL。
我已经考虑了向实体添加一个常量的明显途径;
const DOWNLOAD_PATH = 'http://site.s3.amazon.com/%s/attach/%s';
和自定义getDownloadPath()
,但我想在我的应用程序配置中保留此 URL 之类的细节,而不是 Entities 类(另请参阅下面的更新)
有人对我如何实现这一目标有任何想法吗?
更新添加到这一点,我现在知道我需要使用 AmazonS3 库生成一个临时 URL,以允许临时 authed 访问文件 - 我不想对我们的 Amazon/Attachment Service 进行静态调用这只是感觉不对。