ホームページ > ウェブフロントエンド > htmlチュートリアル > HTML から AFNetWorking_html/css_WEB-ITnose に画像をアップロードするコードの簡単な分析

HTML から AFNetWorking_html/css_WEB-ITnose に画像をアップロードするコードの簡単な分析

WBOY
リリース: 2016-06-24 11:18:23
オリジナル
1078 人が閲覧しました

まず、私の経歴を紹介させていただきます。私は 2 年半以上の経験を持つ IOS 開発エンジニアです。私は普段、ちょっとしたリサーチをするのが好きですが、技術的には専門家とは程遠いですが、他の人に役立つ記事を書くのは悪いことではないと個人的には思っています。この記事は主に、画像をアップロードするプロセスを理解していない学生向けに作成されています。何人かのグループ メンバーが、AFNetWorking を使用して画像をアップロードするプロセスが理解できないと述べています。おそらくインターネットからコピーしたコードなので、処理がよく分からず、どこにどのようなパラメータを書けばよいのか分かりません。設定するパラメータ。以下にシェアさせていただきます。 WebおよびAFNetWorkingを使用したアップロード処理。 2 つのフロントエンド コードと 1 つの PHP バックエンド コードがあれば、誰もが画像アップロード プロセスを十分に理解できると思います。比較すると、より少ない労力で効果が得られる可能性があるため、2 つの例を示しました。

まず、Web に写真をアップロードすることから始めましょう。説明するコードを投稿してください。

<html><head><meta charset="UTF-8"> <title> Upload Picture. </title></head><body><form action="handle.php" name="form" method="post" enctype="multipart/form-data"> <input type="file" name="fileData" /> <input type="submit" name="submit" value="上传" /></form></body></html>
ログイン後にコピー

上記のコードを分析すると、HTML を理解している人なら誰でも言えることは何もありません。投稿フォームです。重要なポイント: Method="post": HTTP リクエスト メソッドを POST リクエストに設定します。 enctype="multipart/form-data": これは理解する必要がある場所です。 multipart/form-data 値は、バイナリの送信をサポートするために使用されます。データをサーバーに送信します。これは誰にとっても見覚えのあるものでしょうか? AFMultipartFormData プロトコルはよく知られているはずです。実際、AFMultipartFormData プロトコルの機能は multipart/form-data と同等です。 AFMultipartFormData プロトコルについて説明したばかりなので、AFNetWorking を通じて画像をアップロードするための別のコードを貼り付けましょう。ご存知のとおり、IOS は Web のようなフォームを送信してデータをアップロードできないため、HTTP リクエストを通じてのみデータを送信できます。コードは次のとおりです

UIImage *image = [UIImage imageNamed:@"测试图片.jpg"]; NSData *data = UIImageJPEGRepresentation(image, 1.0); AFHTTPSessionManager *session = [AFHTTPSessionManager manager]; [session POST:@"图片上传接口" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData){ [formData appendPartWithFileData :data name:@"fileData" fileName:@"图片名称.jpg" mimeType:@"image/jpeg"]; } progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject){ } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error){ }];
ログイン後にコピー

この時点で、それらがいくらか似ており、共通点があることが確実にわかるでしょう。つまり、fileData パラメータが一般的に使用されます。そうです、コードは最初に POST リクエストを作成し、次にこのプロトコルを使用して Web 送信フォームの画像と同様の役割を果たします。 POST:parameters:constructingBodyWithBlock: このメソッドは AFNetWorking の組み込みメソッドです。百度で調べてみてください。

これまで多くの操作を紹介してきました。次に、サーバー側が画像を受け取る方法を見てみましょう。 PHP バックエンドを例に挙げます。画像をアップロードするための PHP 背景を作成しただけです。

そうです

他に何か発見しましたか? $_FILES[‘fileData’] はい、これはフォーム内の fileData という名前のバイナリ画像データを取得するために使用されます。画像データを取得したら、サーバーに画像を保存します。これは、画像をサーバーにアップロードするプロセス全体です。

おそらく、文章はそれほど良くなく、それほど価値がありません。しかし、個人的にはまだ非常に実用的であると感じているので、気に入らない場合はスプレーしないでください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート