iOS 응용 프로그램에서 OneDrive iOS SDK를 사용하여 OneNote 페이지를 만듭니다. 이것은 다중 이미지에 대한 게시물 요청에 대해 수행 한 코드입니다.하나의 OneNote 페이지에 여러 이미지를 업로드하는 방법은 무엇입니까?
NSMutableArray *selecedFileNames = [[NSMutableArray alloc] init];
NSString *date = [self formatDate];
NSString *start = [NSString stringWithFormat:@"<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n"
"<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en-us\">\r\n"
"<head>\r\n"
"<title>Created By</title>\r\n"
"<meta name=\"created\" content=\"%@\" />\r\n"
"</head>\r\n"
"<body>\r\n"
"<p>This is <b>Photo</b> <i>Created</i> note.</p>\r\n",date];
for (int i = 0; i<self.selectedImages.count; i++) {
self.imgObject = (ImageObjects *)[self.selectedImages objectAtIndex:i];
FileModel *fileModel = [FileModel new];
fileModel.fileData = self.imgObject.image_data;
fileModel.fileName = self.imgObject.imageName;
fileModel.fileType = FileTypeImage;
self.filePath = fileModel.getFileName;
NSString *trimmedString = [self.filePath stringByReplacingOccurrencesOfString:@" " withString:[NSString stringWithFormat:@"%d",i]];
self.filePath = [trimmedString stringByReplacingOccurrencesOfString:@":" withString:@""];
NSString *middle = [NSString stringWithFormat:@"<img src=\"%@\" alt=\"image\" width=\"500\">\r\n",self.filePath];
[selecedFileNames addObject:self.filePath];
start = [start stringByAppendingString:middle];
}
start = [start stringByAppendingString:@"</body>\r\n"
"</html>\r\n"];
NSString *boundary = [self generateBoundaryString];
NSString *pagesEndpoint = [NSString stringWithFormat:@"sections/%@/pages", selectedSectionId];
NSString *fullEndpoint = [serviceRootUrl stringByAppendingString:pagesEndpoint];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
[request setURL:[NSURL URLWithString:fullEndpoint]];
[request setHTTPMethod:@"POST"];
// set content type
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request setValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"Presentation\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type:application/xhtml+xml\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"%@\r\n", start] dataUsingEncoding:NSUTF8StringEncoding]];
for (int i=0; i< self.selectedImages.count; i++) {
self.imgObject = (ImageObjects *)[self.selectedImages objectAtIndex:i];
FileModel *fileModel = [FileModel new];
fileModel.fileData = self.imgObject.image_data;
fileModel.fileName = self.imgObject.imageName;
fileModel.fileType = FileTypeImage;
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\" \r\n",[selecedFileNames objectAtIndex:i]] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"\r\n--" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:fileModel.fileData]];
[body appendData:[@"--\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
}
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n.", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
NSString *finalBody =[[NSString alloc] initWithData:body encoding:NSASCIIStringEncoding];
// set request body
[request setHTTPBody:body];
if (self.client)
{
// Send the HTTP request.
[self sendRequest:request];
}
OneNote에서 이미지가있는 페이지를 성공적으로 만들 수 있지만 페이지의 이미지를 볼 수 없습니다. 이것 좀 도와주세요. 요청시 문제가 무엇인지 알 수 없습니다. 거기에 어떤 문제가 내가 만들고있어 요청입니까?
이것은 Microsoft에 제공 한 샘플 코드입니다. 특정 코드를 공유 할 수 있습니까? 이미지는 어디에서 왔습니까? 멀티 파트로 요청에 이미지를 보내고 있습니까, 아니면 과 같은 HTML 이미지 URL을 참조하고 있습니까? –