Php 如何使用Laravel临时存储文件?
使用Php 如何使用Laravel临时存储文件?,php,ajax,laravel-5,Php,Ajax,Laravel 5,使用Laravel 5.2,我正在制作一个上传表单,该表单允许用户选择最多10幅图像,显示它们的预览,然后让用户对它们进行排序,添加更多图像或删除不想上传的图像 使用javascript可以很容易地完成预览的排序和删除,但除此之外,我很难弄清楚如何正确地完成其余的工作。我最初的想法是从输入中获取js文件数组,将其移动到另一个数组,并在用户与图像预览交互后使用该数组,图像预览将使用FileReader显示 提交表单后,我将创建一个FormData对象,删除输入中的当前文件并添加所有有效文件: va
Laravel 5.2
,我正在制作一个上传表单,该表单允许用户选择最多10幅图像,显示它们的预览,然后让用户对它们进行排序,添加更多图像或删除不想上传的图像
使用javascript可以很容易地完成预览的排序和删除,但除此之外,我很难弄清楚如何正确地完成其余的工作。我最初的想法是从输入中获取js文件数组,将其移动到另一个数组,并在用户与图像预览交互后使用该数组,图像预览将使用FileReader
显示
提交表单后,我将创建一个FormData
对象,删除输入中的当前文件并添加所有有效文件:
var formdata = new FormData(document.getElementById('upload-form'));
if (formdata.has('pic[]') && validFiles.length) {
formdata.delete("pic[]");
var len = validFiles.length;
for (i = 0; i < len; i++) {
formdata.append("pic[]", validFiles[i]);
}
}
var formdata=newformdata(document.getElementById('upload-form');
if(formdata.has('pic[])和&validFiles.length){
formdata.删除(“pic[]”;
var len=有效文件长度;
对于(i=0;i
如果你熟悉js,你会发现这种方法在向后兼容方面有严重的问题,因为FormData.delete(…)
,.append(…)
和。has(…)
方法不受旧浏览器(包括Chrome50及以下浏览器或几乎所有IE)的支持
好吧,放弃这个想法。我的第二个想法是做以下工作:
session
保存目录名
问题是会话
似乎有一个全局超时,不能设置为在15分钟内过期。我看到的另一个问题是,一旦会话
过期,用户决定不上传图像,他们将永远留在服务器上,因为我找不到一种方法允许我在会话
过期时执行代码
那么,在Laravel中进行临时文件存储的正确方法是什么?
或者我走错了方向,你能找到更好的方法来完成我的任务吗?
提前感谢您的建议。您的第二个想法似乎是可行的,但稍作修改 这个怎么样: