【发布时间】:2014-07-17 14:15:50
【问题描述】:
我正在构建一种方法,让用户可以上传包含有关该曲目的信息的曲目,但我希望像 YouTube 那样异步执行此操作。
目前有一个tracks 的API 端点接受上传文件和所有元数据的POST 请求。它处理曲目,验证所有内容,然后将曲目的路径及其所有元数据保存在数据库中。这非常有效,但我无法思考异步执行此操作的方法。
用户流将是:
1) 用户选择曲目并开始上传
2) 填写元数据的表单显示并由用户填写
3) Track 连同其元数据一起上传到端点
问题在于元数据表单和文件上传现在是两个独立的实体,现在文件可以在元数据保存之前完成上传,反之亦然。理想情况下,为了克服这个问题,轨道和元数据都将作为 cookie 或其他东西保存在浏览器中,直到它们都完成。届时,两者都将被发送到端点,并且后端不需要任何更改。据我所知,没有办法像这样在客户端保存文件。哦,除了几乎不推荐使用的文件系统 API 之外。
如果有人对如何执行此操作有任何好的建议,将不胜感激。在一个完美的世界里,我希望后端完全没有变化,但可能需要做一些小的变化。不过最好不要更改数据库。
哦,顺便说一句,我正在使用 laravel 和 ember.js 以防万一有人知道任何已经这样做的软件包。
【问题讨论】:
-
不是一个问号,没有代码示例..你到底在问什么??
-
当然最好将曲目和元数据都上传到服务器并存储不完整的记录直到两者都完成?还是我错过了这里的重点?无论哪种方式,这对于 StackOverflow 来说都不是一个好问题。
标签: javascript html ember.js laravel upload