使用BLOB或Base64的WordPress MEDIA_HANDLE_UPLOAD

时间:2016-09-18 作者:gaurav

案例:我正在尝试将webrecord音频上传到wordress帖子。所以我有一个带有post id和输入类型文件“audio\\u upload”的表单

下面是我的代码片段

 $audio_meta_value = media_handle_upload( \'audio_upload\', $pid);
以上代码工作正常。

问题:我已经在底部的表单中添加了webrecord,我可以使用ajax通过下面的代码保存音频,但我一直坚持将音频添加到我的帖子中。

有什么可能的解决方案吗?1: 有没有接受的wordpress函数blob data / base64 encode 而不是$\\u文件来保存附件。

2: 我是否可以将blob数据附加到表单中的文件输入中,以便我以前的流能够正常工作

code to save audio via ajax

Fr.voice.export(function(blob){
  var data = new FormData();
  data.append(\'file\', blob);

  $.ajax({
    url: "server.php",
    type: \'POST\',
    data: data,
    contentType: false,
    processData: false,
    success: function(data) {
      // Sent to Server
    }
  });
}, "blob");
上载。php

if(isset($_FILES[\'file\'])){
  // $audio = file_get_contents($_FILES[\'file\'][\'tmp_name\']);
  $audio = $_FILES[\'file\'][\'tmp_name\'];
  $newpath = "soundrec/uploaded_audio".time().".wav";
  rename($audio,$newpath);
  echo $newpath;
}

1 个回复
SO网友:mmm

您可以使用函数wp_handle_sideloadhttps://developer.wordpress.org/reference/functions/wp_handle_sideload/

执行此操作的步骤:

创建一个包含所需内容的临时文件,将此文件名传递给函数wp_handle_sideload

相关推荐

如何修改WP_INCLUDE/BLOCKS/LATEST_posts.php

我是WordPress开发的初学者,希望得到一些帮助。我在一个简单的WordPress网站上工作。基本上,用户希望在主页上显示最新的帖子。我使用了最新帖子块,并将其设置为显示整个帖子内容,现在用户不希望帖子标题链接到单个帖子页面(因为帖子的内容显示在主页上)。如何安全地修改模板文件,使其像h2标记一样使用,而不是在主题中使用的href标记。我知道您可以创建子主题并修改wp_content 文件,但我不确定如何处理中的文件wp_include. 我读到一些关于修改functions.php 但我不确定,如果