菜鸟教程小白 发表于 2022-12-12 17:00:52

ios - AFNetworking : upload image with other parameters


                                            <p><p>首先,感谢您阅读这个问题。</p>

<p>我正在开发使用 JSON 网络服务的应用程序。在应用程序中,我需要使用带有一些参数的图像(配置文件图像)调用 web 服务。
我的 JSON 请求应与以下相同...</p>

<pre><code>{
&#34;adduser&#34;: {
&#34;firstname&#34;: &#34;testFirstName&#34;,
&#34;lastname&#34;: &#34;testLastName&#34;,
&#34;email&#34;: &#34;[email protected]&#34;,
&#34;projectids&#34; : &#34;1&#34;
}
}
</code></pre>

<p>还有其他变量如 <code>profileimage</code> 用于上传图片。</p>

<p>我已经写了以下代码。</p>

<pre><code>    NSDictionary *dictParameter = @{@&#34;adduser&#34;: @{@&#34;firstname&#34;: firstName, @&#34;lastname&#34;:lastName,@&#34;email&#34;:email, @&#34;projectids&#34;:@&#34;1&#34;}};
    AFHTTPRequestOperationManager *manager = ;
    AFHTTPRequestOperation *op = [manager POST:strURL parameters:dictParameter constructingBodyWithBlock:^(id&lt;AFMultipartFormData&gt; formData) {
      } success:^(AFHTTPRequestOperation *operation, id responseObject) {
                NSLog(@&#34;Success: %@ ***** %@&#34;, operation.responseString, responseObject);
            } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                NSLog(@&#34;Error: %@ ***** %@&#34;, operation.responseString, error);
            }];
;
</code></pre>

<p>以上代码记录以下错误。</p>

<pre><code>Error: &lt;br /&gt;
&lt;b&gt;Notice&lt;/b&gt;:Undefined index: json in &lt;b&gt;/opt/lampp/htdocs/testproject/app/webroot/webservices/include.php&lt;/b&gt; on line &lt;b&gt;15&lt;/b&gt;&lt;br /&gt;
{&#34;status&#34;:&#34;failure&#34;,&#34;message&#34;:&#34;Your Request is Empty&#34;} ***** Error Domain=NSCocoaErrorDomain Code=3840 &#34;The operation couldn’t be completed. (Cocoa error 3840.)&#34; (JSON text did not start with array or object and option to allow fragments not set.) UserInfo=0x8abe490 {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}
</code></pre>

<p>如果我使用以下代码,它就可以正常工作。但我无法上传图片。</p>

<pre><code>AFHTTPRequestOperationManager *manager = ;
   [manager POST:strURL parameters:dictParameter success:^(AFHTTPRequestOperation *operation, id responseObject) {

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    }];
</code></pre>

<p>谢谢</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您缺少实际添加要发送到服务器的图像数据的部分。 </p>

<pre><code>NSDictionary *dictParameter = @{@&#34;adduser&#34;: @{@&#34;firstname&#34;: firstName, @&#34;lastname&#34;:lastName,@&#34;email&#34;:email, @&#34;projectids&#34;:@&#34;1&#34;}};

AFHTTPRequestOperationManager *manager = ;
AFHTTPRequestOperation *op = [manager POST:strURL parameters:dictParameter constructingBodyWithBlock:^(id&lt;AFMultipartFormData&gt; formData) {
;
      }
success:^(AFHTTPRequestOperation *operation, id responseObject) {
                NSLog(@&#34;Success: %@ ***** %@&#34;, operation.responseString, responseObject);
            }
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                NSLog(@&#34;Error: %@ ***** %@&#34;, operation.responseString, error);
            }];

;
</code></pre>

<p>查看关于 <a href="https://github.com/AFNetworking/AFNetworking#post-multi-part-request" rel="noreferrer noopener nofollow">posting a multi-part request</a> 的 AFNetworking 文档.</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - AFNetworking : upload image with other parameters,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/20393712/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/20393712/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - AFNetworking : upload image with other parameters