javascript - 使用 Ajax 和 PHP 上传音频文件

标签 javascript php jquery ajax audio

我正在尝试上传音频文件。

我正在做的是将音频文件通过 Ajax 传递到 PHP,其中将完成上传和其他插入到我的数据库的操作。

通过 Ajax 传递后,我的 PHP 页面看不到音频文件。

<script type="text/javascript">
$(function () {

  $('form').on('submit', function (e) {

    e.preventDefault();

    document.getElementById("load").style.display = "block";
    textarea = $('#editor-one').html();
    var formData = new FormData($(this)[0]);
    formData.append("content", textarea);

    $.ajax({
      type: 'post',
      url: 'verimg.php?ins=newmu',
      data: formData,

      cache: false,
      contentType: false,
      processData: false,
      success: function(data){
        document.getElementById("load").style.display = "none";
        //alert(textarea);
        jQuery('#get_result').html(data).show();
      }
    });
  });
});

  </script>

这是我的 PHP 代码:

if(!isset($_FILES['file'])){
  echo '<div class="alert alert-warning">
          <strong>Warning!</strong> Please select an audio
        </div>';
}else{
  $uploaderror='';
  $name = ucfirst($_POST['name']);
  $artist = $_POST['artist'];
  $content = $_POST['content'];
  $genre = $_POST['genre'];

  $validator = new FormValidator();
  $validator->addValidation("name","req","Please fill in Music Name");
  $validator->addValidation("category","req","Please Select Artist");
  $validator->addValidation("category","req","Please Select Genre");
}

我总是收到“警告!请选择音频”。

最佳答案

我已对您的表单数据进行了更改。在您的 php 代码中,您尝试检查全局 $_FILES 变量中的"file"键,但在 formData 变量中,音频文件未附加到任何“键”。希望它有效:)

<script type="text/javascript">
 $(function () {

$('form').on('submit', function (e) {

  e.preventDefault();

  document.getElementById("load").style.display = "block";
  textarea = $('#editor-one').html();
  var formData = new FormData();
  formData.append("file", e.target.files[0]);
  $.ajax({
    type: 'post',
    url: 'verimg.php?ins=newmu',
    data: formData,
    cache: false,
    contentType: false,
    processData: false,
    success: function(data)
    {
        document.getElementById("load").style.display = "none";
        //alert(textarea);
        jQuery('#get_result').html(data).show();
    }
  });

});

});

</script>

关于javascript - 使用 Ajax 和 PHP 上传音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44194826/

相关文章:

javascript - 无法使变量成为 map 中心

php - 如何在 Laravel 中执行多重身份验证?

php - 为什么 URL 中的此更改会影响 JQuery?

javascript - 在 ContentEditable 更改事件中的 P 标签中插入数据属性

javascript - 数据属性 - jquery 中的获取和设置

javascript - 下拉菜单中的链接不起作用

javascript - 如何在 Tabledit jquery 中发送多个标识符

PHP 和 MySQL InnoDB : Data not available immediately after insert or update

javascript - 简单的网络应用程序适用于 Android,但不适用于 Safari

PHP Tidy 删除有效标签