iPhone 使用 AFNetworking 上传分段文件 [英] iPhone upload multipart file using AFNetworking
问题描述
在我的 iOS 应用程序中,我想使用 NSMutableURLRequest
为多部分文件上传带有 java API 的文件.这是显示参数的表格.
In my iOS app I want to upload file with the java API using NSMutableURLRequest
for multipart file. here is the form which shows parameter.
<form action="API_URL" encType='multipart/form-data' method=post>
<input type=file name="files">
<input type=submit value="Upload Attempt Files">
编辑表格 2
<form action='URL' method="post" encType='multipart/form-data'>
<input name="key1" value='123'>
<input name="key2" value='asdf'>
<input name="key3" value='qwerty'>
<input name="key4" value='aaa'>
<input name="key5" value='aaa'>
<input name="key6" value='false'>
<input type="file" name="files">
<input type=submit value="Create Forum Posts">
</form>
我怎样才能做到这一点?
How can I achieve that?
这个问题展示了如何使用AFNetworking 在 iOS 中(目标 c).但我不知道如何按照我使用的表单放置参数.
This Question shows how to upload multipart file using AFNetworking in iOS(objective c). But I am not getting how to put parameter as per form I am using.
推荐答案
看你的 HTML,你的 的
name
是 >files
,因此,您可以使用 @"files"
作为 name
参数到 appendPartWithFileData
方法.例如,使用 AFNetworking 3.x:
Looking at your HTML, the name
of your <input type=file>
is files
, and thus, you would use @"files"
as the name
parameter to the appendPartWithFileData
method. For example, with AFNetworking 3.x:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager POST:urlString parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:imageData
name:@"files"
fileName:photoName mimeType:@"image/jpeg"];
[formData appendPartWithFormData:[key1 dataUsingEncoding:NSUTF8StringEncoding]
name:@"key1"];
[formData appendPartWithFormData:[key2 dataUsingEncoding:NSUTF8StringEncoding]
name:@"key2"];
// etc.
} progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"Response: %@", responseObject);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"Error: %@", error);
}];
(对于 AFNetworking 1.x 和 2.x 语法,请参阅此答案的修订历史.)
(For AFNetworking 1.x and 2.x syntax, see the revision history of this answer.)
这篇关于iPhone 使用 AFNetworking 上传分段文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!