|
|
@@ -8,6 +8,7 @@
|
|
|
#import "PlayerViewController+otherDelegate.h"
|
|
|
#import "RCCommandHelp.h"
|
|
|
#import "couldPhoneBaseInfoModel.h"
|
|
|
+#import "cachesFileManager.h"
|
|
|
|
|
|
@implementation PlayerViewController (otherDelegate)
|
|
|
|
|
|
@@ -60,6 +61,7 @@
|
|
|
status = [[NSString alloc] initWithFormat:@"%@",status];
|
|
|
}
|
|
|
|
|
|
+ //if(1)
|
|
|
if([status isEqualToString:@"1"])
|
|
|
{
|
|
|
//[self tryAgainApplyUploadFun];
|
|
|
@@ -81,11 +83,11 @@
|
|
|
fileLengthNum = data[@"fileLength"];
|
|
|
}
|
|
|
|
|
|
- [[uploadFileManager shareInstance] changeUploadFileState:uploadStateUploading withDidUploadBytes:[fileLengthNum integerValue] withModel:self.curUploadFileDataMod complete:^(BOOL isSuccess) {
|
|
|
-
|
|
|
- }];
|
|
|
+ // [[uploadFileManager shareInstance] changeUploadFileState:uploadStateUploading withDidUploadBytes:[fileLengthNum integerValue] withModel:self.curUploadFileDataMod complete:^(BOOL isSuccess) {
|
|
|
+ //
|
|
|
+ // }];
|
|
|
|
|
|
- if([fileLengthNum integerValue] == [self.AllFileData length]){
|
|
|
+ if([fileLengthNum integerValue] == self.curUploadFileDataMod.totalBytes){
|
|
|
self.taskUid = nil;
|
|
|
|
|
|
NSMutableArray *delArr = [NSMutableArray new];
|
|
|
@@ -104,25 +106,12 @@
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- self.cutFileDataArr = [self fileCutPartsBy:self.AllFileData withDidUpLoadSize:[fileLengthNum integerValue]];
|
|
|
-
|
|
|
- if(!self.cutFileDataArr){
|
|
|
- [self clearUploadFileDataFun];
|
|
|
- [[uploadFileManager shareInstance] uploadFileFailFun];
|
|
|
-
|
|
|
- self.taskUid = nil;
|
|
|
-
|
|
|
- mainBlock(^{
|
|
|
- [[iToast makeText:NSLocalizedString(@"File_upload_fail",nil)] show];
|
|
|
- });
|
|
|
- HLog(@"hxd fail 上传任务异常终止")
|
|
|
- return;
|
|
|
+ if(self.curUploadFileDataMod.curUploadFileType == uploadFileTypeImage){
|
|
|
+ [self beginGotoUploadImageFun:fileLengthNum];
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ [self beginGotoUploadVidelFun:fileLengthNum];
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- //答复的taskUid 跟申请的一致 开发发送内容
|
|
|
- [self upLoadFileFun];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -140,6 +129,105 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+#pragma mark 图片上传
|
|
|
+-(void)beginGotoUploadImageFun:(NSNumber*)fileLengthNum{
|
|
|
+
|
|
|
+ self.cutFileDataArr = [self fileCutPartsBy:self.AllFileData withDidUpLoadSize:[fileLengthNum integerValue]];
|
|
|
+
|
|
|
+ if(!self.cutFileDataArr){
|
|
|
+ [self clearUploadFileDataFun];
|
|
|
+ [[uploadFileManager shareInstance] uploadFileFailFun];
|
|
|
+
|
|
|
+ self.taskUid = nil;
|
|
|
+
|
|
|
+ mainBlock(^{
|
|
|
+ [[iToast makeText:NSLocalizedString(@"File_upload_fail",nil)] show];
|
|
|
+ });
|
|
|
+ HLog(@"hxd fail 上传任务异常终止")
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ //答复的taskUid 跟申请的一致 开发发送内容
|
|
|
+ [self upLoadFileFun];
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+#pragma mark 视频上传
|
|
|
+//每次从文件重新切一片 传一片
|
|
|
+-(void)beginGotoUploadVidelFun:(NSNumber*)fileLengthNum{
|
|
|
+
|
|
|
+// NSData *data = [self cutVideoFileFunAtIndex:0];
|
|
|
+// HLog(@"data leng:%ld",[data length]);
|
|
|
+// return;
|
|
|
+
|
|
|
+ NSString*videoPathStr = [cachesFileManager getFilePathWithName:self.curUploadFileDataMod.filename type:uploadFileTypeVideo];
|
|
|
+ self.AllFileData = [NSData dataWithContentsOfFile:videoPathStr];
|
|
|
+
|
|
|
+ self.cutFileDataArr = [self fileCutPartsBy:self.AllFileData withDidUpLoadSize:[fileLengthNum integerValue]];
|
|
|
+
|
|
|
+ if(!self.cutFileDataArr){
|
|
|
+ [self clearUploadFileDataFun];
|
|
|
+ [[uploadFileManager shareInstance] uploadFileFailFun];
|
|
|
+
|
|
|
+ self.taskUid = nil;
|
|
|
+
|
|
|
+ mainBlock(^{
|
|
|
+ [[iToast makeText:NSLocalizedString(@"File_upload_fail",nil)] show];
|
|
|
+ });
|
|
|
+ HLog(@"hxd fail 上传任务异常终止")
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ //答复的taskUid 跟申请的一致 开发发送内容
|
|
|
+ [self upLoadFileFun];
|
|
|
+}
|
|
|
+
|
|
|
+#pragma mark 分段读视频文件
|
|
|
+-(NSData*)cutVideoFileFunAtIndex:(NSUInteger)dataIndex{
|
|
|
+ NSString *filePath = [cachesFileManager getFilePathWithName:self.curUploadFileDataMod.filename type:uploadFileTypeVideo]; // 文件路径
|
|
|
+
|
|
|
+ NSFileManager *manager0 = [NSFileManager defaultManager];
|
|
|
+ if(![manager0 fileExistsAtPath:filePath]) {
|
|
|
+
|
|
|
+ return [NSData new];
|
|
|
+ }
|
|
|
+
|
|
|
+ NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath]; // 创建文件句柄
|
|
|
+
|
|
|
+ // 设置分段读取的大小,这里以每次读取1KB为例
|
|
|
+ const NSUInteger chunkSize = 20 * 1024 *1024;
|
|
|
+ NSMutableData *data = [NSMutableData data];
|
|
|
+
|
|
|
+ if (fileHandle) {
|
|
|
+
|
|
|
+ // 读取文件的分段数据到某个位置
|
|
|
+ if(dataIndex > 0){
|
|
|
+ [fileHandle seekToFileOffset:dataIndex];
|
|
|
+ }
|
|
|
+
|
|
|
+ if ([fileHandle seekToEndOfFile] >= [data length]) {
|
|
|
+ // 读取文件的分段数据
|
|
|
+ NSData* chunk = [fileHandle readDataOfLength:chunkSize];
|
|
|
+ if (chunk) {
|
|
|
+ [data appendData:chunk];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ [data appendData:[fileHandle readDataToEndOfFile]];
|
|
|
+ }
|
|
|
+
|
|
|
+ // 在这里可以对文件内容进行处理
|
|
|
+ // ...
|
|
|
+
|
|
|
+ // 关闭文件句柄
|
|
|
+ [fileHandle closeFile];
|
|
|
+ }
|
|
|
+
|
|
|
+ return data;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
- (void)upLoadFileFunServiceResponseFun:(NSDictionary *)dataDict
|
|
|
{
|
|
|
//{"type":"uploadFileRandomRet","data":{"progress":"9\/10","filePath":"/sdcard/Download/IMG_0036.JPG","status":"0","msg":"success"}}
|
|
|
@@ -183,7 +271,7 @@
|
|
|
self.taskUid = [iTools getTaskUidStr];
|
|
|
self.fileName = self.curUploadFileDataMod.filename;
|
|
|
if(self.curUploadFileDataMod.curUploadFileType == uploadFileTypeVideo){
|
|
|
- self.AllFileData = self.curUploadFileDataMod.videoData;
|
|
|
+ //self.AllFileData = self.curUploadFileDataMod.videoData;
|
|
|
}
|
|
|
else{
|
|
|
self.AllFileData = self.curUploadFileDataMod.imageData;
|