6

每个人。总是你非常喜欢。

失败并出现错误 1001“Dropbox SDK v1.3.4”和“IOS 6.0”

“Upload.mov”是一个 5MB 的文件。

NSString* filename = @"upload.mov";
NSString* destDir = @"test";
NSString* srcPath = @"test";
[restClient uploadFile:filename toPath:destDir withParentRev:nil fromPath:srcPath];

控制台日志

2013-07-09 06:53:13.110 DropBoxTest [13243:907] - (void) Start_Dropbox
2013-07-09 06:53:13.216 DropBoxTest [13243:907] if (! RestClient) {[DBRestClient alloc] initWithSession:
2013-07-09 06:53:17.365 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.006782
2013-07-09 06:53:17.370 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.013564
2013-07-09 06:53:17.373 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.020345
2013-07-09 06:53:17.374 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.027127
2013-07-09 06:53:51.652 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.033909
2013-07-09 06:53:51.656 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.040691
2013-07-09 06:53:51.657 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.047472
2013-07-09 06:53:51.660 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.054254
2013-07-09 06:53:51.662 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.061036
2013-07-09 06:53:51.665 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.067818
2013-07-09 06:53:51.668 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.074600
2013-07-09 06:53:51.671 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.081381
2013-07-09 06:53:51.674 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.088163
2013-07-09 06:53:51.677 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.094945
2013-07-09 06:53:51.679 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.101727
2013-07-09 06:53:51.682 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.108508
2013-07-09 06:54:40.271 DropBoxTest [13243:907] File upload restClient: uploadProgress - 0.115290
2013-07-09 06:55:40.320 DropBoxTest [13243:907] [WARNING] DropboxSDK: error making request to / 1/files_put/dropboxtestupload.mov - (-1001) Error Domain = NSURLErrorDomain Code = -1001 "The operation couldn 't be completed. (NSURLErrorDomain error -1001.) "UserInfo = 0x2087fb70 {destinationPath = test / upload.mov, sourcePath = upload.mov}

上传过程确认你已经进行到了中间。iOS5.1.1 不会出现问题。我成功处理了。在iOS6.0中,就出现了这个问题。我现在该怎么办?

这似乎是取决于iPhone5的终端的问题。

退出菜单可确保您选择的值已成功传输。

iPhone4 iOS 6.1.3  ---->successfully.
iPhone4S iOS 5.1.1  ---->successfully.
iPad3 iOS 5.1.1  ---->successfully.

通过在 5MB 文件传输期间生成 1001 错误退出。

iPhone5 iOS 6.1.4  ---> Error

是Dropbox SDK,还是不对应iPhone5的终端?

4

3 回答 3

4

错误 -1001NSURLDomainNSURLErrorTimedOut.

Dropbox SDK 上设置的默认超时时间为 20 秒。

于 2013-07-09T04:38:04.060 回答
2

我们可以使用 Dropbox api 的 uploadFileFailedWithError 委托重定向无法上传的文件,而不是用超时来解决它。

我执行了以下操作以在 drop box 上上传多个文件。

(void)restClient:(DBRestClient*)client uploadFileFailedWithError:(NSError*)error {


    NSLog(@"File upload failed with error - %@", error.userInfo);

    NSString *myfile=[error.userInfo valueForKey:@"sourcePath"];

    [self.restClient uploadFile:@"youfilename" toPath:@"/yourfilepath" withParentRev:nil fromPath:myfile];

}

这样,无法上传的文件将重新尝试上传..

于 2013-12-04T08:49:04.147 回答
0

我知道这个问题被标记为已解决,但我在DropboxCommunity上发现了一些对未来读者有帮助的东西。

尝试上传大文件(大于 150MB)时可能会出现此错误。如果是这种情况,最好使用uploadFileChunk 而不是uploadFile。

所以这里有一个小片段以获得更多帮助:

// First call to the method upload_id must be nil, to tell it is a new upload
// offset is 0 (file is being upload from the beginning)    
[self.restClient uploadFileChunk:nil offset:0 fromPath:localFilePath];

// Every time a chunk is uploaded the DBRestClient delegate method will be called
- (void) restClient:(DBRestClient *)restClient
  uploadedFileChunk:(NSString *)uploadId
          newOffset:(unsigned long long)offset
           fromFile:(NSString *)localPath
            expires:(NSDate *)expiresDate {
    NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:localPath error:NULL];
    unsigned long long fileSize = [attributes fileSize]; // in bytes

// Meanwhile the new offset is smaller than the file size we keep uploading chunks
    if (offset < fileSize) {
        [self.restClient uploadFileChunk:uploadId offset:offset fromPath:localPath];
    }
// When all the chunks are in Dropbox, convert all the uploaded data to the file
    else {
        [self.restClient uploadFile:self.fileName
                             toPath:remoteParentFolder
                      withParentRev:self.parentRev
                       fromUploadId:uploadId];
    }
}
于 2015-09-14T10:19:00.067 回答