백그라운드 세션에서 장치의 사진에서 이미지를 업로드 할 수 없습니다. 내가 전화 할 때 [세션 uploadTaskWithRequest : REQ의 FROMFILE는 : NSURL] 시스템은 즉시 콘솔에백그라운드 세션 (iOS)에서 이미지 파일을 업로드하는 방법은 무엇입니까?
Failed to issue sandbox extension for file file:///var/mobile/Media/DCIM/103APPLE/IMG_3984.JPG, errno = 1
을 전송하여 뿌려줍니다. 내가의 밖으로있는 NSData 객체를 생성하는 경우 : (I 필요, [ID NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier] 대신) 및 내가 [NSURLSessionConfiguration defaultSessionConfiguration] 내 NSURLSessionConfiguration를 만들 경우, 그러나
(A 비슷한 스택 오버플로 문제가 here입니다) NSURL을 업로드하고 파일 (백그라운드 세션에서 필요함)에서 직접 업로드하지 않고 업로드하면 업로드가 성공합니다. Btw 나는 우리의 Rackspace Cloud 계정에 파일을 업로드하고 있으며 간단한 Postman PUT으로 성공적으로이 작업을 수행 할 수 있습니다. 내가 uploadObject에 보내 Btw는
PHFetchResult *fetchResult = [PHAsset fetchAssetsWithLocalIdentifiers:state.arrImagesToBeUploaded options:nil];
PHAsset *phAsset = [fetchResult objectAtIndex:0]; // yes the 0th item in array is guaranteed to exist, above.
[phAsset requestContentEditingInputWithOptions:nil
completionHandler:^(PHContentEditingInput *contentEditingInput, NSDictionary *info) {
NSURL *imageURL = contentEditingInput.fullSizeImageURL;
[self uploadObject:imageURL];
}];
내가 처음 NSURL을 확인 :
이-(void) uploadObject:(NSURL*)urlToBeUploadedIn
{
NSDictionary *headers = @{ @"x-auth-token": state.tokenID,
@"content-type": @"image/jpeg",
@"cache-control": @"no-cache" };
// create destination url for Rackspace cloud upload
NSString *sURL = [NSString stringWithFormat:@"%@/testing_folder/%@.jpg", state.publicURL, [state generateImageName]];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:sURL]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"PUT"];
[request setAllHTTPHeaderFields:headers];
self.sessionIdentifier = [NSString stringWithFormat:@"my-background-session"];
// NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; // when I use this instead of the line below the sandbox error goes away
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:self.sessionIdentifier];
self.session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:nil];
NSURLSessionUploadTask *uploadTask = [self.session uploadTaskWithRequest:request fromFile:urlToBeUploadedIn];
[uploadTask resume];
}
uploadObject를 호출
내 호출이 :처럼 보이는
문제는 보이는 내 uploadObject 방법에서 발생합니다 fileExistsAtPath에 대한 호출과 함께 : 그래서 파일에 대한 내 참조가 좋다는 것을 알고 있습니다. 마지막으로, 내 대표는 내가 결코 제대로 이미지를 수신 서버에서 다시 무언가를 얻고,
(void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)dataIn
(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error does get invoked, although the data
서버에 의해 호출합니까 호출 (응답 구문 분석하지 않습니다 있지만) 그래서.