TinyMCE绝对URL包含脚本文件名

时间:2018-11-21 12:31:59

标签: php tinymce

在TinyMCE中上传文件时,我在获取正确的绝对URL时遇到问题。

当我上传文件时,“源”字段中显示的URL包含从中调用代码的页面的文件名:(create_email.php)

赞: https://mydomain/admin/email_send/ create_email.php images / 62b39_nophoto.jpg

代替: https://mydomain/admin/email_send/images/62b39_nophoto.jpg

enter image description here

图像确实正确上传,并且存储的文件名正确。只是传递的URL不正确。

TinyMCE初始化代码:

class Author < ApplicationRecord
  has_many :books

  def has_science_tag?
    books.joins(:tags).where("tags.name ILIKE '%science%'").exists?
  end
end

上传者代码:

   tinymce.init({
      selector: 'textarea',
      height: 200,
      menubar: true,

relative_urls : false,
remove_script_host : false, 
document_base_url : "https://mydomain/admin/email_send/images/",    

        images_upload_handler: function (blobInfo, success, failure) {
        var xhr, formData;

        xhr = new XMLHttpRequest();
        xhr.withCredentials = false;
        xhr.open('POST', 'uploader2.php');

        xhr.onload = function() {
          var json; 

          if (xhr.status != 200) {
            failure('HTTP Error: ' + xhr.status);
            return;
          }

          console.log(xhr.response);

          success(xhr.response);
        };

        formData = new FormData();
        formData.append('file', blobInfo.blob(), blobInfo.filename());

        xhr.send(formData);
   },   

1 个答案:

答案 0 :(得分:0)

解决了该问题。

已替换:die( $ _ SERVER ['HTTP_REFERER'] 。$ storeFolder。“ /”。$ file_name);

使用:die(“ http://mydomain/admin/email_send/ ”。$ storeFolder。“ /”。$ file_name);