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