无法在CodeIgniter中找到配置任何TinyMCE图像上载插件的方法

时间:2012-05-16 06:48:04

标签: codeigniter tinymce codeigniter-2 image-uploading

我对CI相对较新,但我很享受。

我构建了一个相当健壮的表单,使用TinyMCE来修复标记。我的一个需求是上传图片而不是热链接。

我试图运行多个不同的TinyMCE上传插件,但似乎都有路径配置问题或者Apache阻止了什么。

在阅读CI文档时,我似乎记得有关上传的内容,但我并没有真正遵循它。

有什么我不做的事吗?也许有Routes或.htaccess的东西?是否推荐使用CI的TinyMCE上传方法?

提前致谢。

2 个答案:

答案 0 :(得分:1)

您上传图片的文件夹应放在“public_html” 不在任何子目录中。即图像上传文件夹应位于父文件夹

答案 1 :(得分:1)

在上传按钮上单击创建您自己的JQuery / Angular / Whatever事件,并使用数据向您的服务器发送Ajax调用。您可以使用JQuery从输入中提取数据并将它们发送到表单处理控制器,如图所示here

假设这是您的输入:

<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 init中移动表单处理功能。干杯!