我正在尝试上传音频文件。
正在做的是将音频文件通过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");
}
我总是得到&#34;警告!请选择音频&#34;。
答案 0 :(得分:1)
我已对您的formData进行了更改。在您的PHP代码中,您正在尝试检查文件&#39;键入您的全局$ _FILES变量,但在您的formData变量中,音频文件不会附加到任何&#39;键&#39;。希望它有效:)
<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>
答案 1 :(得分:0)
尝试将enctype='multipart/form-data'
添加到您的form
代码中
;)