假设数据模型是用户配置文件。每条记录都有name
,age
,portrait
等等,其中portrait
是图片。
在前端编辑页面上,我希望在选中后立即上传肖像图像,这样最终提交不会很费时。
open front-end editing page
|
|
edit some fields
|
|
select an image for portrait ---.
| |
| |
| uploading...may take a while
| |
grab a cup of coffee |
| |
| |
edit other fields |
| |
| upload finished
| |
|---------------------------'
|
submit
|
|
respone
submit
步骤实际上是向{@ 1}}发送POST请求到后端。问题是请求数据的{ name: 'John', age: 20, portrait: 'what should be here?' }
字段应该包含哪些内容?
我提出了一个想法,但不知道是否有更好的想法:
后端返回表示图像资源的标记,作为对图像上载的响应。然后前端将该令牌设置的数据发送到portrait
字段。
还有一个问题:如果用户取消了编辑怎么办?上传的文件仍然存在于服务器的存储中,需要清理。也许我可以在用户点击"取消"按钮。但是如果用户只是离开编辑页面而没有点击"取消"按钮?
有这样做的最佳做法吗?
答案 0 :(得分:0)
保罗对上传文件的标识符有正确的想法。
还有一个问题:如果用户取消了编辑怎么办?上传的文件仍存在于服务器的存储上,需要清理。也许我可以在用户点击“取消”按钮时发送令牌。但是如果用户只是离开编辑页面而没有点击“取消”按钮呢?
即使用户确实单击了取消按钮,该信号也可能实际上未传送到您的服务器(不可靠的网络)。
您需要服务器上可以识别废弃图像的内容,以及删除它们的工具。您可以让服务器自行执行此清理,或者您可以在api中公开允许远程控制的资源。