我需要使用uploadify允许用户上载将被存储在Amazon S3的文件。Uploadify直接发送到S3和保存文件名数据库
我相信这是可以直接上传到S3,但我也需要做我的服务器上进行一些处理。
我需要做的是产生之前上传视频的唯一文件名,然后上传成功后保存的文件名到我的数据库。
任何人都可以提供关于如何做到这一点任何见解?
我需要使用uploadify允许用户上载将被存储在Amazon S3的文件。Uploadify直接发送到S3和保存文件名数据库
我相信这是可以直接上传到S3,但我也需要做我的服务器上进行一些处理。
我需要做的是产生之前上传视频的唯一文件名,然后上传成功后保存的文件名到我的数据库。
任何人都可以提供关于如何做到这一点任何见解?
我们也做到这一点在我们的应用程序。
我需要做的是在上传之前为视频生成一个唯一的文件名,然后在成功上传后将文件名保存到我的数据库。
我想你已经得到了周围走错了路。
我们有一个通用的Post
表,我们存储所有类型的帖子,其中Photo
是其中之一。
因此,当用户上传照片,我们首先保存的照片,以便得到它是一个独特的标识符(在DB e.g标识字段 - PK),那么我们使用它作为文件名。
这样我们可以使用约定来渲染S3链接 - 例如/s3.amazonaws.com/yourbucket/photoid.jpg。
所以,你的控制器将是这个样子:
// might need to change to HttpPostedFileBase[] for multiple file uploads
[HttpPost]
public ActionResult Upload(HttpPostedFileBase, string photoName)
{
var stream = httpPostedFileBase.InputStream;
var photo = new Photo { Name = photoName };
repository.Save(photo);
s3service.Upload(stream, photo.Id);
}
你允许用户输入某种形式的名称/标签/其他输入?如果是这样,你可以根据这个名字在服务器上创建独特的slu then,然后用它作为文件名(对SEO很有用)。
我目前正在做基本相同的事情。但是,由于我的主机强加的限制,我无法上传大文件到Web服务器,然后发送到S3 ...所以我需要从浏览器直接将文件发布到S3。 – stephen776 2012-03-05 20:40:14
@ stephen776 - 允许浏览器直接发布到S3似乎已经成熟。 – Greg 2012-03-05 21:01:02
我相信亚马逊支持直接发布到s3,哈希解决方案用于保护传递的参数。我正在寻找关于此方法的更多信息,与uploadify – stephen776 2012-03-05 21:18:21
uploadify意味着什么? – 2012-03-05 17:27:50
@Ramhound这是一个将文件上传到服务器的ajax flash组件,允许多文件选择。 etc. – mattmanser 2012-03-05 17:32:19