mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2025-04-06 03:58:04 +08:00
调上传插件机制
This commit is contained in:
parent
53e6486514
commit
3ce81eca35
@ -29,6 +29,23 @@ use think\admin\storage\QiniuStorage;
|
||||
class Upload extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* 文件上传JS支持
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$data = ['exts' => []];
|
||||
foreach (explode(',', sysconf('storage.allow_exts')) as $ext) {
|
||||
$data['exts'][$ext] = Storage::mime($ext);
|
||||
}
|
||||
$template = realpath(__DIR__ . '/../../view/api/plugs/upload.js');
|
||||
$data['exts'] = json_encode($data['exts'], JSON_UNESCAPED_UNICODE);
|
||||
return view($template, $data)->contentType('application/x-javascript');
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传安全检查
|
||||
* @login true
|
||||
|
@ -1,17 +1,15 @@
|
||||
define(['md5'], function (SparkMD5) {
|
||||
var allowExtsMimes = JSON.parse('{$exts|raw}');
|
||||
return function (element, InitHandler, UploadedHandler) {
|
||||
var exts = $(element).data('type') || '*';
|
||||
var exts = [], mimes = [];
|
||||
var uptype = $(element).attr('data-uptype') || '';
|
||||
var multiple = $(element).attr('data-multiple') > 0;
|
||||
var types = ($(element).data('type') || '').split(',');
|
||||
for (var i in types) if (allowExtsMimes[types[i]]) {
|
||||
mimes.push(allowExtsMimes[types[i]]), exts.push(types[i]);
|
||||
}
|
||||
|
||||
// 检查可以上传的文件后缀
|
||||
jQuery.ajax('?s=admin/api.upload/check', {
|
||||
method: 'POST', data: {exts: exts, uptype: uptype}, success: function (ret, options) {
|
||||
options = {exts: ret.data.exts, acceptMime: ret.data.mime, data: {}};
|
||||
if (exts.indexOf('*') > -1) delete options.exts, delete options.acceptMime;
|
||||
renderUploader(options)
|
||||
}
|
||||
});
|
||||
renderUploader({exts: exts.join('|'), acceptMime: mimes.join(',')});
|
||||
|
||||
// 初始化上传组件
|
||||
function renderUploader(options, headers, uploader) {
|
@ -30,7 +30,7 @@ require.config({
|
||||
'md5': ['plugs/jquery/md5.min'],
|
||||
'json': ['plugs/jquery/json.min'],
|
||||
'michat': ['plugs/michat/michat'],
|
||||
'upload': ['plugs/jquery/uploader'],
|
||||
'upload': ['../admin/api.upload?.js'],
|
||||
'base64': ['plugs/jquery/base64.min'],
|
||||
'echarts': ['plugs/echarts/echarts.min'],
|
||||
'angular': ['plugs/angular/angular.min'],
|
||||
|
Loading…
x
Reference in New Issue
Block a user