【发布时间】:2019-04-25 03:39:18
【问题描述】:
我正在烧瓶中构建一个 CMS,并且我已经构建了一个简单的所见即所得编辑器,使用 execcommands 来创建和编辑帖子,并且一切正常。对于 insertImage 命令,我使用输入元素打开目录并选择图像。它可以工作,当然它会打开我的计算机默认文件夹。我希望它打开用户图像存储在烧瓶中的静态目录中的上传文件夹。如何?
我搜索了烧瓶文档、Python 处理文件文档,但没有提及这一点。这是我正在为一个班级做的一个项目。我正在超越这个项目的要求,但这就是我让事情变得有趣的方式。我的意思是它应该是一个CMS的权利。好吧,CMS 总是有所见即所得的,可以打开默认的“上传”文件夹来插入媒体。此外,在创建我的上传功能时,我发现上传文件时烧瓶需要绝对路径。但是在为他们服务时,相对路径是必要的。 任何正确方向的观点都将不胜感激。谢谢。
这是结构
<div class="col-md-1 tools">
<a href="#" data-command='insertImage'data-toggle="tooltip" title="Insert Media"><i class='material-icons'>add_photo_alternate</i>
</a>
<div class="editorInputs">
<input type="file" name="media" id="insertImage"
accept="audio/*,video/*,image/*"/>
</div>
</div>
这是我的 js 脚本
$('.tools a').mousedown(function(e){
let command = $(this).data('command');
if(command == 'insertImage'){
$(this).next().children('input').trigger('click');
let input = $(this).next().children();
input.on('change', function(e){
let val = $(input).val();
document.execCommand(command, false, val);
})
}
});
这是我的上传文件在烧瓶中的配置方式
app.config['SITE_UPLOADS'] = 'D:/Courses/Development/Programming/Python/LaunchCode/LC101/unit2/build-a-blog/static/site/uploads/'
app.config['ADMIN_UPLOADS'] = 'D:/Courses/Development/Programming/Python/LaunchCode/LC101/unit2/build-a-blog/static/admin/uploads/'
app.config['ALLOWED_IMAGE_EXTENSIONS'] = ['PNG', 'JPG', 'JPEG', 'SVG', 'GIF']
app.config['DATA_FILES'] = 'D:/Courses/Development/Programming/Python/LaunchCode/LC101/unit2/build-a-blog/data/'
app.config['RELATIVE_PATH_SITE'] = '../static/site/uploads/'
app.config['RELATIVE_PATH_ADMIN'] = '/static/admin/uploads/'
【问题讨论】: