Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.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设备保存到php服务器_Php_Ios_Nsdata - Fatal编程技术网

如何将视频数据从iOS设备保存到php服务器

如何将视频数据从iOS设备保存到php服务器,php,ios,nsdata,Php,Ios,Nsdata,目前,我正在从iOS设备获取视频文件的NSData。我需要把它保存在php服务器上。我在这里面临着一点困惑,我是需要从NSData创建视频,还是仅仅保存NSData就可以了。这里需要关于正确方法的指导 谢谢。您只需将该文件上载到某个位置即可。遵循下面的代码。视频应带有关键的“媒体” if(is_uploaded_file($_FILES['media']['tmp_name'])) { $uploaddir = realp

目前,我正在从iOS设备获取视频文件的NSData。我需要把它保存在php服务器上。我在这里面临着一点困惑,我是需要从NSData创建视频,还是仅仅保存NSData就可以了。这里需要关于正确方法的指导


谢谢。

您只需将该文件上载到某个位置即可。遵循下面的代码。视频应带有关键的“媒体”

if(is_uploaded_file($_FILES['media']['tmp_name']))
                {

                    $uploaddir = realpath('./upload/video/');

                    $fname='';//give any file name to save with extension'
                    $uploadfile = $uploaddir ."/". $fname;

                    if (move_uploaded_file($_FILES['media']['tmp_name'], $uploadfile)) {

                        $media = 'upload/video/'.$fname;
                    }
                }

这将对你有帮助

 NSString *videoURL = [[NSBundle mainBundle] pathForResource:@"video" ofType:@"mov"];
 NSData *videoData = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath: videoURL]];

 AFHTTPClient *httpClient = [AFHTTPClient clientWithBaseURL:[NSURL      URLWithString:@"http://www.domain.com"]];

 NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST"    path:@"/videoupload.php" parameters:nil constructingBodyWithBlock:^(id   <AFMultipartFormData>formData)
                            {
                                [formData appendPartWithFileData:videoData name:@"file" fileName:@"video.mov" mimeType:@"video/quicktime"];
                            }];


 AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest: request];

  [operation setUploadProgressBlock:^(NSInteger bytesWritten,long long totalBytesWritten,long long totalBytesExpectedToWrite)
}])


此问题用于从PHP将数据保存到服务器或从设备将其发送到服务器????请澄清您的问题实际上这是双向的,首先我需要将iOS设备中的数据保存到php服务器。谢谢Sam,但我想知道我可以从iOS设备中获取$\u文件变量中的数据吗?这有点令人困惑。请澄清您的疑问。好的,Sam,现在我正在$\u POST['videoNSData']中获取数据,但我非常困惑$\u文件['media']['tmp\u name']是否可以工作或无法查看所有多部分数据只能使用$\u文件访问。只能使用$\u GET或$\u POST访问表单字段数据。因此,如果要获取多部分数据,则必须使用$\u文件。除非您没有收到JSON请求,否则它肯定会工作。非常感谢Sam,我将尝试使用$\u文件。是的,我在POST中从iOS设备获取所有其他数据,而不是JSONUSIS。代码非常混乱,请帮助您忽略第一行。您可以用NSData对象替换第二行。您需要执行服务器端脚本来获取服务器上的数据。下面的答案是@sam'发布的解决方案将有助于服务器端PHP。
 NSLog(@"Sent %lld of %lld bytes", totalBytesWritten, totalBytesExpectedToWrite);
 [operation  setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {NSLog(@"Video Uploaded Successfully");}
                              failure:^(AFHTTPRequestOperation *operation, NSError *error) {NSLog(@"Error : %@",  operation.responseString);}];


[operation start]