我正在django 2.1中开发一个应用程序,在该应用程序中,我必须通过模态上传数量不确定的音频,然后将信息传递给启动模态的 View 。
但是,在填写主 View 表单之前,不应将这些音频存储在数据库中。然后我想到了这些解决方案:

首先,我考虑过将其保存为 session 属性,但是FileField的内容不是可序列化的JSON,因此无法正常工作。

其次,我想到了LocalStorage属性,但是如果文件大小超出限制,我将遇到问题。

第三,我考虑过要获取文件路径然后创建音频,但是由于我正在阅读,因此这是一种不好的做法,只有在磁盘上创建了文件(即,文件位于TemporaryUploadedFile中)才能获取,但是我的文件应该较轻多于1个1MB

为此,我可以选择将所有大小小于2.5MB的文件都存储在InMemoryUploadedFile中,但是我不知道如何获取它们。有人知道这是怎么做的吗?或如何保存临时音频列表?

最佳答案

InMemoryUploadedFile是文件对象的包装。您可以使用file属性访问文件对象。

file_in_memory # <InMemoryUploadedFile: xxx (xxx/xxx)>
file_object = file_in_memory.file

10-06 10:25