Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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
Php iOS不会将音乐文件上载到我的服务器_Php_Objective C_Iis - Fatal编程技术网

Php iOS不会将音乐文件上载到我的服务器

Php iOS不会将音乐文件上载到我的服务器,php,objective-c,iis,Php,Objective C,Iis,我正在尝试将一个文件从iOS设备上载到iIIS Web服务器(Windows Server Web 2008),但由于某些原因,如果添加的文件大于某个大小(看起来大约10MB),它将不会收到请求 关于这件事,我又问了几个问题,并从中找到了很多答案。我仍然有一个大文件没有被发送的问题。以前的上限是2MB,现在大约是10MB左右。php中与此相关的所有设置都已设置为500MB或6000秒超时。IIS的maxRequestBuffer也已设置为500MB,这应该不是问题所在 看看我改变了什么allre

我正在尝试将一个文件从iOS设备上载到iIIS Web服务器(Windows Server Web 2008),但由于某些原因,如果添加的文件大于某个大小(看起来大约10MB),它将不会收到请求

关于这件事,我又问了几个问题,并从中找到了很多答案。我仍然有一个大文件没有被发送的问题。以前的上限是2MB,现在大约是10MB左右。php中与此相关的所有设置都已设置为500MB或6000秒超时。IIS的maxRequestBuffer也已设置为500MB,这应该不是问题所在

看看我改变了什么allready,我认为问题在于应用端根本不发送它。以前,请求将由服务器发送和接收,代码将被激发,但文件将被忽略,因为当时文件太大。然而,现在当我有一个大文件的请求将不会收到

我的Objective-c代码如下:

NSString *theUrl = @"myserverurl";
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:theUrl]];

[request setNumberOfTimesToRetryOnTimeout:2];
[request setShouldContinueWhenAppEntersBackground:YES];

NSTimeInterval timeOutSecs = 60000;
[request setTimeOutSeconds:timeOutSecs];

//[request setUploadProgressDelegate:(id)];

[request setFile:[soundFileURL path] forKey:@"mainfile"];
[request startSynchronous];
如果有人能告诉我这里出了什么问题,那将对我有很大帮助!我找不到任何允许发送更大文件的方法,所以关于这方面的任何帮助都将非常好!)

提前谢谢

编辑


经过一些测试,似乎11.1MB(5分钟48秒的声音)是最大值。大于此值将导致上载失败。

需要检查的两个主要方面:

  • 在web服务器上,检查日志
  • 在客户端上,我从未同步使用过ASI,但如果切换到async,则可以实现
    -requestFailed:
    委托方法,并在调试器中分析该错误对象。(见附件)
  • 还要查看HTTP请求/响应头,看看是否出现了什么有趣的结果。如果你愿意放弃15美元,HTTP独家新闻是一个有用的工具。(我与HTTP独家新闻的作者无关。)

    还要检查客户端和服务器之间的防火墙、过滤器、防病毒软件等。

    在IIS中查找日志 打开IIS管理器 单击保存站点的网站(而不是虚拟目录)。 由于您使用的是windows 2008,您将拥有IIS 7.0或7.5,因此您应该在IIS组下看到“日志记录”选项 在日志记录下,有一个“目录”选项,它是日志的路径

    如果日志没有提供足够的信息,请选择其他类型的日志或增加输出的字段数。
    您可能需要阅读“帮助”以获得不同字段的解释。

    首先,我没有从服务器获得任何信息,因此无法检查响应的标题。我认为问题不在于任何类型的防火墙,因为端口80是完全开放的,它确实适用于较小的文件。。最后,我找不到日志,所以如果你能告诉我在哪里可以找到这些日志,那就太棒了!我检查了,应用程序返回一个空值作为错误。所以我想php代码可能因为某种原因出了问题。。我想知道如何/在哪里检查服务器日志。