0

У меня проблема с форматированием заголовка для многостраничного сообщения. Как создать один заголовок с несколькими значениями для одной части.ASIFormDataRequest ASIMultipartFormDataPostFormat форматирование заголовка

Что я хочу:

--0xKhTmLbOuNdArY-28217FDC-8163-459B-AB09-3DE87210721D 
OBR_SORT_IDX:1 
OBR_ENUM:1 
Content-Disposition: form-data; name="IMAGE"; filename="image1_0.png" 
Content-Type: image/png 

<theBinData> 

Что у меня есть:

--0xKhTmLbOuNdArY-28217FDC-8163-459B-AB09-3DE87210721D 
Content-Disposition: form-data; name="OBR_ENUM" 

1 
--0xKhTmLbOuNdArY-28217FDC-8163-459B-AB09-3DE87210721D 
Content-Disposition: form-data; name="OBR_SORT_IDX" 

1 
--0xKhTmLbOuNdArY-28217FDC-8163-459B-AB09-3DE87210721D 
Content-Disposition: form-data; name="IMAGE"; filename="image1_0.png" 
Content-Type: image/png 

<theBinData> 

код я использую для тестирования:

UIImage *img1 = [UIImage imageNamed:@"alu_texture.png"]; 
UIImage *img2 = [UIImage imageNamed:@"alu_texture.png"]; 

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:strUrl]]; 
[request setPostBodyFilePath:thePath]; 
request.shouldStreamPostDataFromDisk = YES; 

[request setPostFormat:ASIMultipartFormDataPostFormat]; 
[request setRequestMethod:@"POST"]; 

NSString *imgName = [NSString stringWithFormat:@"image%d_%d.png", 1, 0]; 
NSData *data = [NSData dataWithData: UIImagePNGRepresentation(img1)]; 
[request addPostValue:@"1" forKey:@"OBR_ENUM"]; 
[request addPostValue:@"0" forKey:@"OBR_SORT_IDX"]; 
[request addData:data withFileName:imgName andContentType:@"image/png" forKey:@"IMAGE"]; 

imgName = [NSString stringWithFormat:@"image%d_%d.png", 1, 1]; 
data = [NSData dataWithData: UIImagePNGRepresentation(img2)]; 
[request addPostValue:@"1" forKey:@"OBR_ENUM"]; 
[request addPostValue:@"1" forKey:@"OBR_SORT_IDX"]; 
[request addData:data withFileName:imgName andContentType:@"image/png" forKey:@"IMAGE"]; 

[request setDelegate:self]; 
[request startAsynchronous] 

ответ

0

Так что я редактировал метод - (void)buildMultipartFormDataPostBody из ASIFormDataRequest. Я добавил новый массив со словарями для многостраничного заголовка.

код buildMultipartFormDataPostBody в цикл для fileData:

NSDictionary *d = [self headerMultyPartData][i]; 
NSArray *keys = d.allKeys; 
for(NSString *key in keys) 
    [self appendPostString:[NSString stringWithFormat:@"%@: %@\r\n", key, [d valueForKey:key]]]; 
Смежные вопросы