Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > Mobile > Mobile Forum > ขอ ความช่วยเหลือ เรือง android upload file,image to server



 

ขอ ความช่วยเหลือ เรือง android upload file,image to server

 



Topic : 100171

Guest




ผมอยากทราบว่าาาา ผมเขียน code ใน่ส่วน upload file to server chmod 777 แล้วเรียบร้อยยย แต่ทำไม code ก้ไม่มีอะไร error แต่ เวลา upload file ขึ้น server Unknow Status! ช่วยดูให้ผมทีครับว่า code ผมผิดตรงไหน ?


Code (Android-Java)
package com.example.upload;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import org.json.JSONException;
import org.json.JSONObject;

import android.os.AsyncTask;
import android.os.Bundle;
import android.os.StrictMode;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.util.Log;
import android.view.View;
import android.view.Menu;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

	public static final int DIALOG_UPLOAD_PROGRESS = 0;
    private ProgressDialog mProgressDialog;

	
    @SuppressLint("NewApi")
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // Permission StrictMode
        if (android.os.Build.VERSION.SDK_INT > 9) {
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
        }
        

        // txtSDCard
        final EditText txtSDCard = (EditText)findViewById(R.id.txtSDCard);     
        
        // btnUpload
        Button btnUpload = (Button)findViewById(R.id.btnUpload);
        btnUpload.setOnClickListener(new OnClickListener(){
            public void onClick(View v) {
            	// TODO Auto-generated stub
            	
			   	final String strSDPath = txtSDCard.getText().toString();
		    	final String strUrlServer = "http://202.28.77.216:80/home/android/public_html/uploadFile.php";
		    	
		    	new UploadFileAsync().execute(strSDPath,strUrlServer);
				
            }
        });
        
    }
    
    public void showSuscess(String resServer)
    {
    	
        /** Get result from Server (Return the JSON Code)
         * StatusID = ? [0=Failed,1=Complete]
         * Error	= ?	[On case error return custom error message]
         * 
         * Eg Upload Failed = {"StatusID":"0","Error":"Cannot Upload file!"}
         * Eg Upload Complete = {"StatusID":"1","Error":""}
         */
    	
        /*** Default Value ***/
    	String strStatusID = "0";
    	String strError = "Unknow Status!";

    	try {  		
    		
			JSONObject c = new JSONObject(resServer);
        	strStatusID = c.getString("StatusID");
        	strError = c.getString("Error");
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	
    	
    	// Prepare Status
		if(strStatusID.equals("0"))
		{
			AlertDialog.Builder ad  = new AlertDialog.Builder(this);
			ad.setTitle("Error!");
			ad.setIcon(android.R.drawable.btn_star_big_on);
            ad.setMessage(strError);
            ad.setPositiveButton("Close", null);
            ad.show();
		}
		else
		{
			Toast.makeText(MainActivity.this, "Upload file Successfully", Toast.LENGTH_SHORT).show();
		}
		
    }
    
    
    @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case DIALOG_UPLOAD_PROGRESS:
            mProgressDialog = new ProgressDialog(this);
            mProgressDialog.setMessage("Uploading file.....");
            mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
            mProgressDialog.setCancelable(true);
            mProgressDialog.show();
            return mProgressDialog;
        default:
            return null;
        }
    }
    
    
    public class UploadFileAsync extends AsyncTask<String, Void, Void> {

    	String resServer;
    	
        protected void onPreExecute() {
        	super.onPreExecute();
        	showDialog(DIALOG_UPLOAD_PROGRESS);
        }

        @Override
        protected Void doInBackground(String... params) {
            // TODO Auto-generated method stub

        	int bytesRead, bytesAvailable, bufferSize;
    		byte[] buffer;
    		int maxBufferSize = 1 * 1024 * 1024;
    		int resCode = 0;
        	String resMessage = "";

        	String lineEnd = "\r\n";
        	String twoHyphens = "--";
        	String boundary =  "*****";
        	
    	    String strSDPath = params[0];
    	    String strUrlServer = params[1];
    	    
    		try {
    			/** Check file on SD Card ***/
    			File file = new File(strSDPath);
    			if(!file.exists())
    			{
    				resServer = "{\"StatusID\":\"0\",\"Error\":\"Please check path on SD Card\"}";
    				return null;
    			}
    			
    			FileInputStream fileInputStream = new FileInputStream(new File(strSDPath));

    			URL url = new URL(strUrlServer);
    			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    			conn.setDoInput(true);
    			conn.setDoOutput(true);
    			conn.setUseCaches(false);
    			conn.setRequestMethod("POST");

    			conn.setRequestProperty("Connection", "Keep-Alive");
    			conn.setRequestProperty("Content-Type",
    					"multipart/form-data;boundary=" + boundary);

    			DataOutputStream outputStream = new DataOutputStream(conn
    					.getOutputStream());
    			outputStream.writeBytes(twoHyphens + boundary + lineEnd);
    			outputStream
    					.writeBytes("Content-Disposition: form-data; name=\"filUpload\";filename=\""
    							+ strSDPath + "\"" + lineEnd);
    			outputStream.writeBytes(lineEnd);

    			bytesAvailable = fileInputStream.available();
    			bufferSize = Math.min(bytesAvailable, maxBufferSize);
    			buffer = new byte[bufferSize];

    			// Read file
    			bytesRead = fileInputStream.read(buffer, 0, bufferSize);

    			while (bytesRead > 0) {
    				outputStream.write(buffer, 0, bufferSize);
    				bytesAvailable = fileInputStream.available();
    				bufferSize = Math.min(bytesAvailable, maxBufferSize);
    				bytesRead = fileInputStream.read(buffer, 0, bufferSize);
    			}

    			outputStream.writeBytes(lineEnd);
    			outputStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);

    			// Response Code and  Message
    			resCode = conn.getResponseCode();
    			if(resCode == HttpURLConnection.HTTP_OK)
    			{
                    InputStream is = conn.getInputStream();
                    ByteArrayOutputStream bos = new ByteArrayOutputStream();
                    
                    int read = 0;
                    while ((read = is.read()) != -1) {
                          bos.write(read);
                    }
                    byte[] result = bos.toByteArray();
                    bos.close();
                         
                    resMessage = new String(result);
                    
    			}
    			
    			Log.d("resCode=",Integer.toString(resCode));
    			Log.d("resMessage=",resMessage.toString());

    			fileInputStream.close();
    			outputStream.flush();
    			outputStream.close();
    			
    			resServer = resMessage.toString();
    			
    			
    		} catch (Exception ex) {
    			// Exception handling
    			return null;
    		}
    		
    		return null;
        }

        protected void onPostExecute(Void unused) {
        	showSuscess(resServer);
            dismissDialog(DIALOG_UPLOAD_PROGRESS);
            removeDialog(DIALOG_UPLOAD_PROGRESS);
        }

    }
   
	
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}


ขอบคุณร่วงหน้าครับผม



Tag : Mobile, Android







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-09-07 22:40:05 By : mr keng View : 1776 Reply : 8
 

 

No. 1

Guest


งง กับ code เล็ก น้อย อ่ะครับ ว่าทำไม มันขึน Unknow Status!






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-07 22:47:42 By : keng
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Quote:
http://202.28.77.216/home/android/public_html/uploadFile.php


Error
Not Found

The requested URL /home/android/public_html/uploadFile.php was not found on this server.

Apache/2.2.20 (Ubuntu) Server at 202.28.77.216 Port 80

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-08 06:20:27 By : mr.win
 

 

No. 3

Guest


พี่ วิน ตอนนี้ server ผมใช้ได้ล้วแต่ ลอง upload ทำไม มันขึ้น

อันแรกๆ

 อันที่ 2




มันเป็นเพราะ อะไรหรอครับพี่ วิน ผมสงสัย อะไรบ้าง ว่าทำไม upload แล้วมันขึ้น



Unfortunately,upload has stopped.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-08 15:00:41 By : keng
 


 

No. 4

Guest


มันต้อง สร้างตาราง database รึป่าว ครับพี่วิน ในการ upload
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-08 15:57:43 By : keng
 


 

No. 5

Guest


ว่าแต่ get กะ set ต้องแก้อะไรไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-08 19:15:54 By : มือใหม่
 


 

No. 6



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-08 21:55:34 By : mr.win
 


 

No. 7

Guest



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-09 00:03:02 By : keng
 


 

No. 8



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ดูเหมือนว่าจะมีปัญหาตอนที่ JSON ถูกส่งกลับครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-09 06:14:42 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอ ความช่วยเหลือ เรือง android upload file,image to server
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่