我对 CI 比较陌生,但我很喜欢它。
我已经构建了一个相当健壮的表单,它使用 TinyMCE 来修复标记。我的需求之一是上传图片而不是热链接。
我曾尝试运行多个不同的 TinyMCE 上传插件,但似乎都存在路径配置问题或 Apache 阻止了什么。
在阅读 CI 文档时,我似乎记得一些关于上传的内容,但我并没有真正遵循它。
有什么我没有做的吗?也许与 Routes 或 .htaccess 相关?是否有推荐的使用 CI 的 TinyMCE 上传方法?
提前致谢。
我对 CI 比较陌生,但我很喜欢它。
我已经构建了一个相当健壮的表单,它使用 TinyMCE 来修复标记。我的需求之一是上传图片而不是热链接。
我曾尝试运行多个不同的 TinyMCE 上传插件,但似乎都存在路径配置问题或 Apache 阻止了什么。
在阅读 CI 文档时,我似乎记得一些关于上传的内容,但我并没有真正遵循它。
有什么我没有做的吗?也许与 Routes 或 .htaccess 相关?是否有推荐的使用 CI 的 TinyMCE 上传方法?
提前致谢。
您上传图像的文件夹应放在“public_html”而不是任何子目录中。即图片上传文件夹应该在父文件夹中
在上传按钮单击时创建您自己的 JQuery/Angular/Whatever 事件,并将 Ajax 调用与数据一起发送到您的服务器。您可以使用 JQuery 从输入中提取数据并将它们发送到表单处理控制器,如图所示。
假设这是您的输入:
<input type="file" name="file" id="file" required />
您的 js 将包含一个 JQuery 触发器和一个单独的 Jquery 函数来进行 Ajax 调用,如下所示。
tinymce.init({
selector: 'textarea',
height: 500,
toolbar: 'mybutton',
menubar: false,
setup: function (editor) {
editor.addButton('mybutton', {
text: 'My button',
icon: false,
onclick: function () {
//Trigger Submit event on input
$("#uploadimage").trigger('submit');
}
});
},
content_css: [
'//fast.fonts.net/cssapi/e6dc9b99-64fe-4292-ad98-6974f93cd2a2.css',
'//www.tinymce.com/css/codepen.min.css'
]
});
//Triggered on submit
$("#uploadimage").on('submit',(function(e) {
e.preventDefault();
$("#message").empty();
$('#loading').show();
$.ajax({
url: "ajax_php_file.php", // Url to which the request is send
type: "POST", // Type of request to be send, called as method
data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
contentType: false, // The content type used when sending data to the server.
cache: false, // To unable request pages to be cached
processData:false, // To send DOMDocument or non processed data file it is set to false
success: function(data) // A function to be called if request succeeds
{
$('#loading').hide();
$("#message").html(data);
}
});
}));
使用 CI 表单上传库创建一个可以处理上传文件的控制器。坦率地说,我更喜欢 Froala 而不是 TinyMCE,因为它预先设计了所有这些漂亮的小东西,并且可能具有更多功能并且可以蒙皮。无论什么漂浮你的山羊人。让我知道这是否成功。我只是在现场准备了这段代码,它非常懒惰。您可以在 TinyMCE 初始化中移动表单处理功能。干杯!