如何在相应的RESTful请求到来之前管理上传的文件

时间:2016-06-17 10:39:36

标签: rest web

假设数据模型是用户配置文件。每条记录都有nameageportrait等等,其中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字段。

还有一个问题:如果用户取消了编辑怎么办?上传的文件仍然存在于服务器的存储中,需要清理。也许我可以在用户点击"取消"按钮。但是如果用户只是离开编辑页面而没有点击"取消"按钮?

有这样做的最佳做法吗?

1 个答案:

答案 0 :(得分:0)

保罗对上传文件的标识符有正确的想法。

  

还有一个问题:如果用户取消了编辑怎么办?上传的文件仍存在于服务器的存储上,需要清理。也许我可以在用户点击“取消”按钮时发送令牌。但是如果用户只是离开编辑页面而没有点击“取消”按钮呢?

即使用户确实单击了取消按钮,该信号也可能实际上未传送到您的服务器(不可靠的网络)。

您需要服务器上可以识别废弃图像的内容,以及删除它们的工具。您可以让服务器自行执行此清理,或者您可以在api中公开允许远程控制的资源。