Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.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 使用AFN网络将从一台服务器下载的视频上传到另一台服务器_Ios_Iphone_Upload_Streaming_Afnetworking - Fatal编程技术网

Ios 使用AFN网络将从一台服务器下载的视频上传到另一台服务器

Ios 使用AFN网络将从一台服务器下载的视频上传到另一台服务器,ios,iphone,upload,streaming,afnetworking,Ios,Iphone,Upload,Streaming,Afnetworking,我正在制作一个应用程序,将眼镜的数据传输到服务器进行广播。 直到现在我才能够从眼镜下载数据到我的iPhone文档目录。 现在我想把下载的数据上传到我的服务器上,这样我们就可以向用户广播这些数据了 我的iPhone和眼镜通过WiFi相互连接,我正试图通过手机网络上传下载的数据 所以基本上我的想法是从眼镜上下载数据并上传到服务器上 我已经尝试将我的iPhone作为服务器,以便我的后端团队可以从我的iPhone下载数据 我在这个方法中取得了成功,但问题是,对于这个过程,客户端和服务器应该位于同一个私有

我正在制作一个应用程序,将眼镜的数据传输到服务器进行广播。 直到现在我才能够从眼镜下载数据到我的iPhone文档目录。 现在我想把下载的数据上传到我的服务器上,这样我们就可以向用户广播这些数据了

我的iPhone和眼镜通过WiFi相互连接,我正试图通过手机网络上传下载的数据

所以基本上我的想法是从眼镜上下载数据并上传到服务器上

我已经尝试将我的iPhone作为服务器,以便我的后端团队可以从我的iPhone下载数据

我在这个方法中取得了成功,但问题是,对于这个过程,客户端和服务器应该位于同一个私有ip网络上

所以现在我们只剩下一种方法,我们从眼镜下载TS卡盘,同时将TS文件上传到我们的服务器进行广播

我正在使用
NFNetworking
从眼镜“TS文件”下载视频卡盘,但无法将该卡盘上传到我的服务器

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://xxx.xx.xx.x/abc/trunk/WebServices/app/webroot/xyz"]];
        AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request] ; 



operation.outputStream = [NSOutputStream outputStreamWithURL:[NSURL URLWithString:@"http://abc.aa.a.a/xyz/trunk/WebServices/app/webroot/img/glasses/test/demo.ts"] append:NO];

    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        //   NSLog(@"Successfully downloaded file to %@", path);
        // NSLog(@"download finished!");
        if(_delegate && [_delegate respondsToSelector:@selector(ZBTM3U8SegmentDownloaderFinishDownload:)])
        {
            [_delegate ZBTM3U8SegmentDownloaderFinishDownload:self];
        }

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        //  NSLog(@"Error: %@", error);
    }];
    [operation start];
它处于成功状态,但数据未上载到服务器上 服务器文件夹显示为空

- (void)postVideoOnServer {


NSDictionary *requestDict = @{ @"uniqueToken":@"101", @"user_id":@"102",};

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:_tsFileName];

NSData *selectedVideo = [NSData dataWithContentsOfFile:path];


AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
AFHTTPRequestOperation *operation = [manager POST:@"http://xxx.x.x.xx/myi/public_html/WebServices/broad/axy" parameters:requestDict constructingBodyWithBlock: ^(id <AFMultipartFormData> formData) {
    [formData appendPartWithFileData:selectedVideo name:@"file" fileName:@"filename.ts" mimeType:@"video/quicktime"];
} success: ^(AFHTTPRequestOperation *operation, id responseObject)
                                     {

                                         NSInteger statusCode = operation.response.statusCode;
                                         NSLog(@"Status Code ::%d", statusCode);
                                         NSLog(@"Response ::%@", responseObject);
                                         [self handleVideoServiceResponse:responseObject];
                                     }
                                        failure  : ^(AFHTTPRequestOperation *operation, NSError *error)
                                     {
                                         NSLog(@"Error: %@  %@", operation.responseString, error);

                                     }];
[operation start];
}
-(void)postVideoOnServer{
NSDictionary*requestDict=@{@“uniqueToken”:@“101”,@“用户id”:@“102”,};
NSArray*Path=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,是);
NSString*path=[[paths objectAtIndex:0]stringByAppendingPathComponent:\u tsFileName];
NSData*selectedVideo=[NSData DATA WITH CONTENTS OFFILE:path];
AFHTTPRequestOperationManager*manager=[AFHTTPRequestOperationManager];
AFHTTPRequestOperation*操作=[管理员职位:@”http://xxx.x.x.xx/myi/public_html/WebServices/broad/axy“参数:requestDict constructingBodyWithBlock:^(id formData){
[formData appendPartWithFileData:selectedVideo名称:@“file”文件名:@“fileName.ts”mimeType:@“video/quicktime”];
}成功:^(AFHTTPRequestOperation*操作,id响应对象)
{
NSInteger statusCode=operation.response.statusCode;
NSLog(@“状态代码::%d”,状态代码);
NSLog(@“响应::%@”,响应对象);
[自助服务响应:响应对象];
}
失败:^(AFHTTPRequestOperation*操作,NSError*错误)
{
NSLog(@“错误:%@%@”,operation.responseString,错误);
}];
[操作启动];
}
它总是返回请求超时错误


提前感谢。

您确定NSData*selectedVideo不是零吗?我怀疑你也是哑剧演员?建议尝试使用MIME:video/MP2T,它应该可以解决您的问题。

因此,如果您成功下载了NSLog(@“成功下载文件到%@”,路径);那个么为什么你们的提问帖子会显示下载代码呢?你们不应该发布上传方法吗?这会造成问题。您还可以播放ts格式视频吗?您确定NSData*selectedVideo不是零吗?我怀疑你也是哑剧演员?建议尝试使用MIME:video/MP2TNSData不是nil,我正在从本地存储获取数据。是否有任何可能的方法将下载的数据上载到另一台服务器而不保存到本地存储。使处理更快。您现在可以在服务器上上载数据了吗?