我應該將文件轉換爲Base64並將該字符串添加到我附加到URL的JSON中。我遇到的文件是.zip文件和.info擴展名的文本文件。該.INFO文件正確上傳但的.zip文件我得到「不正確的填充」錯誤從服務器響應。在iOS中將文件轉換爲Base64 URL安全編碼格式
以下是我的工作;
- (void)uploadingData: (NSString *)fileName {
NSArray *directoryPathsArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [directoryPathsArray objectAtIndex:0];
NSString *absoluteFilePath = [NSString stringWithFormat:@"%@/%@/%@", documentsDirectory, baseDirName, fileName];
NSInputStream *inputStream = [NSInputStream inputStreamWithFileAtPath:absoluteFilePath];
[inputStream open];
uint8_t buffer[1024];
int len;
NSMutableString *total = [[NSMutableString alloc] init];
while ([inputStream hasBytesAvailable]) {
len = [inputStream read:buffer maxLength:sizeof(buffer)];
if (len > 0) {
[total appendString: [[NSString alloc] initWithBytes:buffer length:len encoding:NSASCIIStringEncoding]];
}
}
NSData *plainData = [total dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64String = [plainData base64EncodedStringWithOptions:0];
// Adding to JSON and upload goes here.
}
我在哪裏做錯了?
此外,有沒有一種方法,我可以檢查轉換後的字符串是完全按照Base64,在它附加到JSON和上傳到服務器之前?
感謝
不工作。服務器甚至不能識別爲文件。 – AnujAroshA 2014-10-01 08:02:11