1

目前我正在开发一个 MVC Web 应用程序,它应该有一个用于某种条目的创建对话框。

应该可以输入一些文字信息,也可以上传文件、图片、视频等。

出现以下问题:

是否有在 ONCE 上传全部信息的一般最佳实践?在用户真正决定提交信息之前,不应在数据库中创建对象。

我想了一些解决办法

  • 在浏览器中使用 FileAPI 存储上传
  • 选择文件时立即 AJAX-Upload。但是在哪里“缓存”服务器上的文件呢?由于我正在创建对象,因此该条目不在数据库中。
  • 打开表单时创建数据库条目?但这会导致数据库中的垃圾

任何建议都非常感谢

谢谢 亲切的问候

4

1 回答 1

2

我认为这种方法会很好遵循。

  1. 拥有会话缓存,它将文件字节保存在服务器内存中。
  2. 当用户进入上传页面时,清除它。
  3. 当用户上传文件时,将文件字节保存在服务器会话缓存中。
  4. 当用户真的想上传文件时——比如说——提交文件——那种按钮,从会话缓存中获取文件并上传到数据库中。
  5. 保存在数据库中时清除会话缓存。

如果是大文件,如视频,您想创建一个临时文件夹(每个用户),将文件保存在该文件夹中 - 而不是会话缓存,并在文件保存到数据库后清除/删除文件夹。

于 2013-06-26T11:21:08.397 回答