我正在从我的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。
有关可能发生的事情的任何想法?或者更好的是,确保我们获得完整文件的解决方案?
答案 0 :(得分:1)
我不确定但我所知道的是,当脚本完成后,上传的文件消失了,所以你必须将它复制到你服务器上的其他地方。
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(),但有些人正在使用该函数获得复制错误。副本一般都有效。
太糟糕了,这是一个迟到的回复,希望它仍然可以服务