Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法使用解析服务器将大文件保存到S3_Ios_Parse Platform_Amazon S3_Parse Server - Fatal编程技术网

Ios 无法使用解析服务器将大文件保存到S3

Ios 无法使用解析服务器将大文件保存到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

我尝试使用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 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,但它不在那里。你能给我一些指导吗?我在哪里可以检查和修改它?你是如何部署它的?堆栈