我将文件列表存储在cookie中,这样如果我导航到另一个页面并返回到此页面,我需要用户之前选择的所有文件。 我用这段代码将数据存储在 cookie 中。
if(!angular.isUndefined(filelist)) {
$cookies.filelist = JSON.stringify(filelist).toString();
}
下面的代码我用来从用户选择的文件创建文件列表对象
$('#fileupload').on('fileuploadadd', function (e, data) {
for(var i = 0; i < data.files.length; i++){
filelist.push(data.files[i])
}
});
从 cookie 检索数据的代码
if($cookies.filelist != null && $cookies.filelist != 'undefined' && $cookies.filelist != 'null') {
filelist = $.merge(filelist,JSON.parse($cookies.filelist));
}
当我存储此文件列表对象时,它是"file"类型,当我检索它时,它是“对象”类型。如何将对象类型转换为文件对象?我遵循的方法正确吗?
最佳答案
你最好在你的服务器上设置一个文件结构来存储文件,然后使用数据库来存储文件的URL,当将URL添加到数据库时,你也可以将URL添加到你的cookies或在 session 变量中,因此当您返回页面时,您会看到所有指向文件的 url。我不明白为什么你需要实际的文件对象本身。这仅由 <input file />
使用上传到磁盘。
关于javascript 文件对象在 cookie 中存储/检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25105941/