我把前端录制的视频的二进制流传给了后台
// 上传录制视频方法,获取视频地址
const updata = () => {
const blob = new Blob(videoCecorded.value, { type: "video/mp4" });
let file = new File(videoCecorded.value, "video-" + new Date().toISOString().replace(/:|\./g, "-") + ".mp4", {
type: "video/mp4",
});
console.log(file)
let data = new FormData();
data.append("file", file);
data.append('robot_id',props.robotId)
data.append('type',0)
data.append('string',dayjs(new Date()).format("YYYY-MM-DD-HH-mm-ss"))
addVideoFun(data).then(res=>{
console.log(res)
})
//传后台
};
我后台用的thinkphp框架,是这样接的:
$dataOrg=file_get_contents("php://input");
但是我打印$dataOrg是空,是不能直接打印还是我取的方法不对,我在thinkphp里操作$dataOrg提示为空。。。。
这是前端显示的我这个file文件,我传到后台马上把值返回来,确没有了file这个参数:
你已经转为
formData
了,这就和普通的上传文件的表单一样,你直接 thinkphp 那边用正常的方法获取就行。