AJAX将Blob作为图片上传到Wordpress

我在另一页(同一文件夹)中使用下面的代码。使用文件输入字段将图像上传到Wordpress媒体库中,并从我的PC中选择图像,效果很好。

现在,我试图在此页面中使用相同的代码,但要上传通过URL创建的图像-> base64-> blob

代码:

$(".mySubmit").click(function(event){
      event.preventDefault();

      var url = "url/action";
      var image = imgLink; //correct src image url
      var base64ImageContent = getBase64Image(document.getElementById("thumbImg"));
      var blob = base64toBlob(base64ImageContent,'image/png');
      console.log(blob);
      var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
      var formData = new FormData();
      formData.append('updoc',blob);
      // formData.append('updoc',$('#user-file')[0].files[0]);
      formData.append('action',"questiondatahtml");
      $.ajax({
        url: ajaxurl,type: "POST",data:formData,cache: false,processData: false,// Don't process the files
        contentType: false,// Set content type to false as jQuery will tell the server its a query string request
        success:function(data) {

          alert("IMAGE UPLOADED ON WORDPRESS");
        },});
    });

控制台登录Blob返回:

Blob {size: 315485,type: "image/png"}
size: 315485
type: "image/png"
__proto__: Blob
arrayBuffer: ƒ arrayBuffer()
size: (...)
slice: ƒ slice()
stream: ƒ stream()
text: ƒ text()
type: (...)
constructor: ƒ Blob()
Symbol(Symbol.toStringTag): "Blob"
get size: ƒ size()
get type: ƒ type()
__proto__: Object

它没有返回任何错误,但没有上传图像

编辑: 值得一提的是,要使上述工作(本地文件上传)有效,我必须在我的function.php中添加以下代码:

add_action( 'wp_ajax_questiondatahtml','questiondatahtml_update' );
add_action( 'wp_ajax_nopriv_questiondatahtml','questiondatahtml_update' );
function questiondatahtml_update() {
if ( $_FILES ) {
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
require_once(ABSPATH . "wp-admin" . '/includes/file.php');
require_once(ABSPATH . "wp-admin" . '/includes/media.php');
$file_handler = 'updoc';
$attach_id = media_handle_upload($file_handler,$pid );
}
echo "You are done!!";
wp_die();
}
wobushiren1314 回答:AJAX将Blob作为图片上传到Wordpress

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3157323.html

大家都在问