Heim  >  Artikel  >  Backend-Entwicklung  >  Android lädt Bilder auf den PHP-Server hoch

Android lädt Bilder auf den PHP-Server hoch

WBOY
WBOYOriginal
2016-08-08 09:22:361241Durchsuche

Android-Code

öffentliche Klasse EX08_11 erweitert Aktivität
{
/* Variablendeklaration
* newName: der Name der Datei auf dem Server nach dem Hochladen
* uploadFile: auf hochgeladen werden Dateipfad
* actionUrl: Programmpfad entsprechend dem Server*/
// private String newName="345444.jpg";
private String uploadFile="/sdcard/345444.jpg";
private String acti//*********/upload.php";
private TextView mText1;
private TextView mText2;
private Button mButton;

@Override
public void onCreate(Bundle savingInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mText1 = (TextView) findViewById(R.id .myText2) ;
mText1.setText("Dateipfad: n"+uploadFile);

mText2 = (TextView) findViewById(R.id.myText3);
mText2.setText("Upload URL: n "+actionUrl);
/* Setzt die onClick-Ereignisbehandlung von mButton*/
mButton = (Button) findViewById(R.id.myButton);
mButton.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
uploadFile();
}
});
}

/* Dateien hochladen auf Servermethode */
private void uploadFile()
{
// String end = "rn";
// String twoHyphens = "--";
String border = "** ***";
try
{
URL url =new URL(actionUrl);
HttpURLConnection con=(HttpURLConnection)url.openConnection();
/* Eingabe, Ausgabe zulassen, Cache nicht verwenden */
// con.setReadTimeout(5 * 1000);
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false);
/* Übertragungsmethode festlegen=POST */
con.setRequestMethod("POST");
/* setRequestProperty */
con.setRequestProperty("Connection", "Keep-Alive") ;
con.setRequestProperty("Charset", "UTF-8");
con.setRequestProperty("enctype",
"multipart/form-data;boundary="+boundary);
/* Set DataOutputStream */
DataOutputStream ds =
new DataOutputStream(con.getOutputStream());
/*ds.writeBytes(twoHyphens + border + end);
ds.writeBytes(" Inhalt -Disposition: form-data; " +
"name="file1";filename="" +
newName +""" + end);


ds.writeBytes( end ); */

/* Holen Sie sich den FileInputStream der Datei */
FileInputStream fStream = new FileInputStream(uploadFile);
/* Setzen Sie jeden Schreibvorgang auf 1024 Bytes */
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];

int length = -1;
/* Daten aus Datei in Puffer lesen*/
while(( length = fStream.read(buffer)) != -1)
{
/* Daten in DataOutputStream schreiben*/
ds.write(buffer, 0, length);
}
// ds.writeBytes(end);
// ds.writeBytes(twoHyphens + border + twoHyphens + end);

/* Streams schließen */
fStream.close();
ds.flush();


/* Antwortinhalt abrufen*/
InputStream is = con .getInputStream();
int ch;
StringBuffer b =new StringBuffer();
while( ( ch = is.read() ) != -1 )
{
b. append( (char)ch );
}
/* Antwort im Dialog anzeigen */
showDialog(b.toString().trim());
/* DataOutputStream schließen */
ds.close();
} Show Dialog method */
private void showDialog(String mess)
{
new AlertDialog.Builder(EX08_11.this).setTitle("Message")
.setMessage(mess)
. SetnegativeButton ("OK", New Dialoginterface.onClickListener ()
{
Public Void Onclick (Dialoginterface Dialog, Int Which) }) .show ( );
}
}

PHP-Code

$data = file_get_contents('php://input');
$time = date("YmdHis");
$rand = rand(0,100);
$filename = $_SERVER['DOCUMENT_ROOT'].'/image/'.$time.$rand.'.jpg'
while(file_exists($ Dateiname))
{
$filename = $_SERVER['DOCUMENT_ROOT'].'/image/'.$time.rand(0,100).'.jpg';

}

echo $filename;

$handle = fopen($filename, 'w');
if ($handle)
{

fwrite($handle ,$data);
fclose($handle);

echo "success";
}

?>


Das Obige stellt vor, wie man Bilder auf den PHP-Server in Android hochlädt, einschließlich des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-OCI8-TestversionNächster Artikel:PHP-OCI8-Testversion