在 iOS 中使用 NSURLSession 发出对 .ts 文件的 POST 请求

Making a POST request for a .ts file using NSURLSession in iOS

我正在尝试使用 NSURLSession 对 .ts 文件发出 POST 请求。但是,我想知道的是,有没有办法在不将 .ts 文件转换为 NSData 对象并且不在 NSDictionary 中使用它的情况下执行此操作?换句话说,我可以直接上传一个.ts文件到预期的URL吗?

这是我正在使用的代码:

NSURL *url = [NSURL URLWithString:@"myURL"];
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:config];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
request.HTTPMethod = @"POST";

//I don't want to use the following line 
NSDictionary *dictionary = @{@"key1": @"value1"};
NSError *error = nil;

//I don't want to use the following line
NSData *data = [NSJSONSerialization dataWithJSONObject:dictionary 
  options:kNilOptions error:&error];

if (!error) {

 NSURLSessionUploadTask *uploadTask = [session uploadTaskWithRequest:request
   fromData:data completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

   }];

   [uploadTask resume];
}

我怎样才能做到这一点?

如果您可以在本地访问 .ts 文件,您可以使用

[session uploadTaskRequest:request fromFile:[NSURL youUrlToTheTSFile]]

在这里查看答案:Uploads using backgroundSessionConfiguration and NSURLSessionUploadTask cause app to crash