Ios 无法使用解析服务器将大文件保存到S3
我尝试使用Parse Server保存到S3 bucket,当文件很小时,例如864.2KB,它可以正确保存。然而,当文件很大(比如5MB)时,它会抱怨说:“数据无法读取,因为它的格式不正确” 我使用以下代码将视频文件保存到S3Ios 无法使用解析服务器将大文件保存到S3,ios,parse-platform,amazon-s3,parse-server,Ios,Parse Platform,Amazon S3,Parse Server,我尝试使用Parse Server保存到S3 bucket,当文件很小时,例如864.2KB,它可以正确保存。然而,当文件很大(比如5MB)时,它会抱怨说:“数据无法读取,因为它的格式不正确” 我使用以下代码将视频文件保存到S3 func saveVideo(withVideoURL url: URL){ let post = PFObject(className: "Post") post["caption"] = "Out of the game for 6
func saveVideo(withVideoURL url: URL){
let post = PFObject(className: "Post")
post["caption"] = "Out of the game for 6 months, but back with vengeance. Meet your 2017 AO Men's champion"
do{
let data = try Data(contentsOf: url)
print(data)
post["media"] = PFFile(data: data)
post.saveInBackground { (success, error) in
if success{
print("video saved")
}else{
print("failed")
if error != nil{
print(error!.localizedDescription)
}else{
print("erorr is nil")
}
}
}
}catch let error as NSError{
print("can't read")
print(error.localizedDescription)
}
}
此外,即使小视频文件确实保存到S3,它也包含扩展名.bin,而不是.mp4。我想知道这里发生了什么事
url最终看起来像这样
您需要规定内容类型。您可以这样做:
post["media"] = PFFile(data: data, contentType: "video/mp4")
您需要规定内容类型。您可以这样做:
post["media"] = PFFile(data: data, contentType: "video/mp4")
解析服务器
索引文件中的以下设置将帮助您:
var bodyParser = require('body-parser');
app.use(bodyParser.json({limit: '20mb'}));
app.use(bodyParser.urlencoded({limit: '20mb', extended: true}));
如果您使用的是elastic beanstalk,则必须在文件夹.ebextensions
中有一个名为files.config
的文件,其中包含以下内容
files:
/etc/nginx/conf.d/proxy.conf:
content: |
client_max_body_size 20M;
这为我解决了这个问题。您的
解析服务器
索引文件中的以下设置将帮助您:
var bodyParser = require('body-parser');
app.use(bodyParser.json({limit: '20mb'}));
app.use(bodyParser.urlencoded({limit: '20mb', extended: true}));
如果您使用的是elastic beanstalk,则必须在文件夹.ebextensions
中有一个名为files.config
的文件,其中包含以下内容
files:
/etc/nginx/conf.d/proxy.conf:
content: |
client_max_body_size 20M;
这为我解决了这个问题。非常感谢您,我对解析服务器还很陌生。现在这个小文件被正确地保存到S3中,我相信我不能上传默认大于1MB的视频,对吗?我想知道是解析端还是S3导致了这个问题,非常感谢您的帮助查看解析服务器中的maxupload设置,看看它设置了什么。默认值应为20MB。我试图找到我当前部署的解析服务器的maxupload的位置。我试着用谷歌搜索我可以在哪里设置maxupload,但没有成功。我试图检查index.js,但它不在那里。你能给我一些指导吗?我在哪里可以检查和修改它?你是如何部署它的?Stack?非常感谢,我对解析服务器还很陌生。现在这个小文件被正确地保存到S3中,我相信我不能上传默认大于1MB的视频,对吗?我想知道是解析端还是S3导致了这个问题,非常感谢您的帮助查看解析服务器中的maxupload设置,看看它设置了什么。默认值应为20MB。我试图找到我当前部署的解析服务器的maxupload的位置。我试着用谷歌搜索我可以在哪里设置maxupload,但没有成功。我试图检查index.js,但它不在那里。你能给我一些指导吗?我在哪里可以检查和修改它?你是如何部署它的?堆栈