iOS无法将本地wav文件上传到我的服务器
问题描述:
我正在制作一个应用程序,用户可以使用该应用程序录制声音并将其发送到我的服务器。第一部分完美地工作。我可以录制和播放声音。然而问题是,当我尝试上传这个录制结果的wav文件到我的服务器时,它不会接受任何超过2分钟的内容,并且几秒钟(约2 MB)的小文件被发送并且正确处理。任何大于此的结果都会导致发送请求但不附加文件,或附加文件,但服务器无法读取它。第一个对我来说似乎更可能。我的Objective-C代码如下:iOS无法将本地wav文件上传到我的服务器
Objective-C代码
NSString *theUrl = @"http://www.myserver.nl";
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:theUrl]];
[request setFile:[soundFileURL path] forKey:@"mainfile"]; //The file gets added
[request startSynchronous]; //Request is being sent.
任何想法或解决方案将不胜感激!
答
PHP的上传限制是由几个设置所决定:
upload_max_filesize
memory_limit
post_max_size
还有web服务器的限制,如Apache的LimitRequestBody可以长期PHP的这之前一命呜呼
答
您可能想要使用异步传输。然后,您可以将某些日志记录或UIProgressBar挂钩到ASIFormDataRequest的progressDelegate属性,以便ASI可以报告其上传进度,以便您可以查看它是否从应用程序端发出。
但是,我的怀疑是,您正在与服务器上的“最大上传大小”配置发生冲突。你是否将此发送给你写的代码?我主要在服务器端使用PHP,并且我知道超出了php.ini文件中指定的特定大小,它只是barfs。
工作就像一个魅力!谢谢! – Manuel