【发布时间】:2021-10-23 03:03:37
【问题描述】:
实际上,我正在尝试以 base64 格式发送视频文件,但文件很大(小文件可以正常工作),这就是为什么 ajax 进程未完成并且出现 400 错误的原因。
所以,我想像下面这样发送一个文件对象,我可以从服务器端读取这个对象。但是不知道有没有可能?或者有什么方法可以处理大型视频文件上传?
[object FileReader]
这是我的 AJAX 代码
var reader = new FileReader();
// this function is triggered once a call to readAsDataURL returns
reader.onload = async function(event){
var fileData = new FormData();
var fileType;
fileType = ".avi";
// console.log(my_script_vars.postID);
// fileData.append("file", event.target);
fileData.append("file", event.target.result);
fileData.append("action", "myaction");
fileData.append("filetype", fileType);
fileData.append("post_id", my_script_vars.postID);
jQuery.ajax({
url: 'https://www.reelme.app/sign-up/wp-admin/admin-ajax.php',
processData: false,
contentType: false,
cache: false,
data: fileData,
type: 'POST',
.......
.......
.......
});
}
请帮忙。提前致谢。
【问题讨论】:
-
您可以将 javascript 对象作为 JSON 对象发送到服务器。您是否尝试过使用 JSON.stringify(object)?
-
是的,我试过 JSON.stringify(object) 但没有运气。实际上,如果我们传递 javascript 数组 JSON.stringify(array) ,这种方式有效,但这就是为什么我遇到同样的大文件 400 错误
-
也许increasing maximum post size 可能会有所帮助。
-
已经这样做了。但没有运气。
-
能否检查ajax调用中的url是否正确?
标签: javascript php html jquery wordpress