完成临时图片的自动删除;

This commit is contained in:
2022-03-15 08:56:08 +08:00
parent f633e89932
commit 980be86c6d
3 changed files with 51 additions and 6 deletions

View File

@@ -2,6 +2,7 @@
namespace app\admin\controller;
use app\model\TempImg;
use app\model\UploadFiles;
use app\UploadFiles as AppUploadFiles;
use League\Flysystem\Util\MimeType;
@@ -103,13 +104,34 @@ class File extends Common
file_put_contents($temp_file, $file_data);
// TODO:将文件存入数据库并且删除过期文件
$model_img = TempImg::create([
'path' => $public_file_path
]);
return json_message([
'src' => $public_file_path
]);
}
public function clearTempImg()
{
$list_img = TempImg::where('create_time', '<', time() - 600)->limit(100)->select();
foreach ($list_img as $key => $model_img) {
$temp_file = App::getRootPath() . 'public' . $model_img->path;
if (file_exists($temp_file)) {
unlink($temp_file);
$model_img->delete();
}
}
return json_message([
'delete' => $list_img->count()
]);
}
public function clear($id)
{
AppUploadFiles::clear($id);

14
app/model/TempImg.php Normal file
View File

@@ -0,0 +1,14 @@
<?php
declare (strict_types = 1);
namespace app\model;
use think\Model;
/**
* @mixin \think\Model
*/
class TempImg extends Model
{
//
}

View File

@@ -79,18 +79,18 @@
var boxItem = $('.tpl .table-card-box').clone()
$.each($(trItem).data(),function(index,value){
$.each($(trItem).data(), function (index, value) {
$(boxItem).data(index,value)
$(boxItem).data(index, value)
})
$(trItem).find('td').each(function (index, ele) {
var itemItem = $('.tpl .table-card-item').clone()
$(itemItem).find('.item-title').text($('.layui-table thead th').eq(index).text())
if($(ele).children().length == 0){
if ($(ele).children().length == 0) {
$(itemItem).find('.item-value').html($(ele).html())
}else{
} else {
$(ele).children().clone().appendTo($(itemItem).find('.item-value'))
}
@@ -105,6 +105,15 @@
})
function callClearTempImg() {
$.get('{:url("File/clearTempImg")}', function () {
setTimeout(() => {
callClearTempImg()
}, 10000);
})
}
callClearTempImg()
</script>
<div class="tpl" style="display: none;">