Php 通过iOS上的ASIFormDataRequest发送视频时出现部分上载错误

Php 通过iOS上的ASIFormDataRequest发送视频时出现部分上载错误,php,ios,asiformdatarequest,Php,Ios,Asiformdatarequest,我正在从iOS应用程序向服务器提交视频,并收到一个PHP错误代码3-“上传的文件仅部分上传。”。然而,这种情况只发生过几次,我还没有找到一种模式。我正在使用ASIFormDataRequest发送文件 ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:urlUpload]; request.shouldContinueWhenAppEntersBackground = YES; [request setFile:@"

我正在从iOS应用程序向服务器提交视频,并收到一个PHP错误代码3-“上传的文件仅部分上传。”。然而,这种情况只发生过几次,我还没有找到一种模式。我正在使用ASIFormDataRequest发送文件

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:urlUpload];
request.shouldContinueWhenAppEntersBackground = YES;
[request setFile:@"filename"
         withExtension:@".mov"]
         withFileName:@"filename.mov"
         andContentType:@"video/quicktime"
         forKey:@"Filedata"];
request setDelegate:self;
[request setUploadProgressDelegate:self;
[request setShowAccurateProgress:YES];
[request startAsynchronous];
在过程的前面定义了urlUpload

我的php脚本如下所示:

if (isset($_FILES['Filedata'])) {
    if ($_FILES['Filedata']['error']) {
        echo "File Error";
    } else {
        //Handle the upload file
    }
} else {
    echo "No File";
}
与$_FILES['Filedata']['error']关联的错误为3,PHP表示该错误为部分上载的文件,而$_FILES['Filedata']['size']为0


对可能发生的事情有什么想法吗?或者更好的解决方案,确保我们获得完整的文件?

我不确定,但我知道的是,当脚本完成时,上传的文件不见了,因此您必须将其复制到服务器上的其他地方

if (file_exists("upload/" . $_FILES["file"]["name"]))
  {
  echo $_FILES["file"]["name"] . " already exists. ";
  }
else
  {
  copy($_FILES["file"]["tmp_name"],
  "upload/" . $_FILES["file"]["name"]);
  echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
  }
有些人更喜欢使用move_uploaded_file(),但有些人使用该函数会出现复制错误。抄袭通常有效


太糟糕了,这是一个如此晚的答复,希望它仍然可以服务

我不确定,但我知道的是,当脚本完成时,上传的文件不见了,因此您必须将其复制到服务器上的其他地方

if (file_exists("upload/" . $_FILES["file"]["name"]))
  {
  echo $_FILES["file"]["name"] . " already exists. ";
  }
else
  {
  copy($_FILES["file"]["tmp_name"],
  "upload/" . $_FILES["file"]["name"]);
  echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
  }
有些人更喜欢使用move_uploaded_file(),但有些人使用该函数会出现复制错误。抄袭通常有效


可惜这么晚才回复,希望它仍然有用

我发现真正的问题是通过互联网连接丢失了部分文件。我编写了一种方法,将文件分小块上传,如果某个块丢失,请重新提交该块。对于每个块,我都将其附加到我在服务器上创建的文件中。我发现真正的问题是通过internet连接丢失部分文件。我编写了一种方法,将文件分小块上传,如果某个块丢失,请重新提交该块。对于每个块,我将其附加到在服务器上创建的文件中。