我有以下jQuery,我认为应该将切片文件传递给PHP:
var blob = f.slice(start, stop);
var formData = new FormData();
formData.append('fileUpload', blob, f.name);
$.ajax({
url: 'save.php',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(msg){
alert("Success: " + msg);
},
error: function(bla, msg){
alert("Fail: " + msg);
}
});
但是,我不确定将blob保存到文件中的PHP应该是什么样的。
目的是让浏览器对文件进行切片,然后保存输出。
答案 0 :(得分:0)
将其作为服务器上的文件接收
<?php
//var_dump($_FILES) // check if you received it or not
$blob = $_FILES('fileUpload');
file_put_contents('/path/to/new/file_name', $blob);
?>
您可能希望先将文件保存到tmp位置,然后再将其检查到最终位置(使用PHP重命名()函数)。
顺便说一句:为什么不把BLOB保存到DB?这是目前处理文件的合法方式,毕竟这就是BLOB MySQL数据类型的用途。
我已经问过这个问题并且有效,请看一下:send formData appended with blob to server
答案 1 :(得分:-2)
由于contentType: false
数据在$_FILES
而非$_POST
中可用。一种方法就是这样:
<?php
move_uploaded_file(
$_FILES['fileUpload']['tmp_name'],
$_FILES['fileUpload']['name']
);
?>