ホームページ  >  記事  >  バックエンド開発  >  Android が写真を PHP バックグラウンドにアップロードするプロセス全体

Android が写真を PHP バックグラウンドにアップロードするプロセス全体

WBOY
WBOYオリジナル
2016-06-23 13:29:291052ブラウズ

追記: 安価なサーバーは時々あなたを騙します。

今日は、アプリの一部のインタラクションを変更し、コードをリファクタリングします。すべてが順調に進み、実行、実行、テストはOK、そして再び実行されました。 。 。

アバターをアップロードするテスト中に突然、接続が常にタイムアウトになります。 。 。 。次のエラーが報告されます:

XXXXXXSokcetTimeOutXXXXXXXX

次に、HTTP タイムアウトを自分で設定します:

  //设置超时时间  httpclient.setTimeout(20000);

ビルドして実行しても、まだ機能しません。 。 。 。明らかに正常に動作しているのに、突然接続タイムアウトになるのはなぜでしょうか。しばらく苦労した後、バックエンドの友人とも通信しましたが、彼もアップロード インターフェイスをテストし、問題がないことがわかったので、私に自分で作業させてくれました。 。 。 。

元のコードにはエラーが見つからず、どうしようもなかったので、最後の手段として、PHP の画像アップロード インターフェイスを自分で作成してテストすることにしました。 。 。 。


1. まず、便利で高速な PHP サーバーをダウンロードする必要があります。ここでは、Baidu-----ダウンロード-----インストール-----開始、ブラウザ入力: http を使用しました。 : //127.0.0.1 ページが表示されます。OK。それはとても簡単です!

2. ブラウザに「http://ローカル IP アドレス」と入力し、Enter キーを押します。「このサーバーでは / にアクセスする権限がありません」のようなエラー メッセージが表示されます。 WM はまだ設定されていません。次の設定を行う必要があります:

この問題の原因は、Apache の http.conf のデフォルト設定が
# onlineoffline タグ - 削除しないことです
Order Deny,Allow
すべて拒否
127.0.0.1 から許可
127.0.0.1 のみが許可されます アクセスするには、wampserver アイコンをクリックしてから、Putonline をクリックします。http.conf の上記のデフォルト設定は、
# onlineoffline タグ - 削除しないでください
に自動的に変更されます。注文 許可、拒否
すべてから許可
これで、localhost にアクセスできるようになります。

同様に、phpMyadmin は、localhost では正常にアクセスできませんが、127.0.0.1 では正常にアクセスできます。 解決策:
ルート ディレクトリの下のエイリアス ディレクトリをクリックし、phpmyadmin.conf 設定ファイルを開き、
すべてから拒否
を変更します。上記の http.conf を変更します。 127.0.0.1 から許可する
に変更します
すべてから許可する


3. もう一度入力します: http://ローカル IP アドレス と入力してページを表示します。 OK! なぜ第二段階と第三段階が必要なのかについては、私は何も言いません。 。 。新人さんも考えてみましょう! 大神はそれを無視した。 。 。 。 。

4. もちろん、私は Java を入力できる子供ですが、どうすればよいですか? もちろん、Baidu は次のことを指します。 PHP コードはインターネットから入手したものです。私自身はテストしていません。エラー:

<?php$base_path = "./upload/"; //存放目录if(!is_dir($base_path)){    mkdir($base_path,0777,true);}$target_path = $base_path . basename ( $_FILES ['attach'] ['name'] );if (move_uploaded_file ( $_FILES ['attach'] ['tmp_name'], $target_path )) {	$array = array (			"status" => true,			"msg" => $_FILES ['attach'] ['name'] 	);	echo json_encode ( $array );} else {	$array = array (			"status" => false,			"msg" => "There was an error uploading the file, please try again!" . $_FILES ['attach'] ['error'] 	);	echo json_encode ( $array );}?>
5. 上記の php ファイルを、参考までに以下に示します。

6. 上記の手順の後、PHP 側が設定されました。これで、Android 側に戻って、テストする IP アドレスを変更できます。 コード スニペットは次のとおりです。 params.put("attach", UploadImg); ここでのattachパラメータはサービスと1つ1つが対応している場合はランダムに変更しないでください。 。 。 。


String url="http://192.168.0.8/upload.php"; この 192.168.0.8 は私の PHP デプロイメントのアドレスです。独自のアドレスに変更してください。


PS: 間違えないでください 2、127.0.0.1 を使用してください。127.0.0.1 を使用できない理由を考えてください

これが構築と実行です。 OK が見つかりました。 。 。 。 アップロードすると、www ディレクトリでアップロード ディレクトリを見つけることができます。アップロードされた画像はアップロード ディレクトリにあります。 。 。 。




7. これは不可解です。 。 。 。 私は勇気を出して PHP バックエンドを見つけました。彼と熱心に議論した結果、サーバーが私を騙していることがわかりました。 サーバー1年間800元。 。 。 。 。良い。 。 。これ以上言わない。 。 。 。








著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。