|
|
|
Android - จะส่งค่า paramerter อื่นๆ หรือ id ตอนอัพโหลดไฟล์ยังไงครับ |
|
|
|
|
|
|
|
outputStream.writeBytes("param1=value1¶m2=value2¶m3=value3");
ได้ไหมอะครับ
|
|
|
|
|
Date :
2013-08-09 12:13:05 |
By :
LindyFralin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ได้ครับอันนี้โค้ดนะครับ ผมใส่ที่คุณแนะนำ
Code (Android-Java)
//Sending data
outputStream.writeBytes("student_id="+strID+"");
นะครับมันจะ upload รูปไม่ได้ครับ
อันนี้โค้ดทั้งหมดเผื่อผมใส่ผิดที่ครับ
Code (Android-Java)
HttpURLConnection connection = null;
DataOutputStream outputStream = null;
DataInputStream inputStream = null;
//String pathToOurFile = "/data/file_to_send.mp3";
String pathToOurFile =imagePath;
String urlServer = "http://192.168.2.4/android/upload.php";
String lineEnd = "\r\n";
String twoHyphens = "--";
String boundary = "*****";
int bytesRead, bytesAvailable, bufferSize;
byte[] buffer;
int maxBufferSize = 1*1024*1024;
try
{
FileInputStream fileInputStream = new FileInputStream(new File(pathToOurFile) );
URL url = new URL(urlServer);
connection = (HttpURLConnection) url.openConnection();
// Allow Inputs & Outputs
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
// Enable POST method
connection.setRequestMethod("POST");
connection.setRequestProperty("Connection", "Keep-Alive");
connection.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary);
outputStream = new DataOutputStream( connection.getOutputStream() );
outputStream.writeBytes(twoHyphens + boundary + lineEnd);
outputStream.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\"" + pathToOurFile +"\"" + lineEnd);
outputStream.writeBytes(lineEnd);
//Sending data
//outputStream.writeBytes("param1=value1¶m2=value2¶m3=value3");
outputStream.writeBytes("student_id="+strID+"");
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);
// Responses from the server (code and message)
int serverResponseCode = connection.getResponseCode();
String serverResponseMessage = connection.getResponseMessage();
fileInputStream.close();
outputStream.flush();
outputStream.close();
}
catch (Exception ex)
{
//Exception handling
}
}
ตรงนี้คือส่วนที่จะอัพเดทในฐานข้อมูละครับ มันยังไม่สามารถอัพเดทได้ครับ Code (PHP)
$target_path = "images/";
if(trim($_FILES["uploadedfile"]["tmp_name"]) != "")
{
$images = $_FILES["uploadedfile"]["tmp_name"];
$new_images = "Thumbnails_".$_FILES["uploadedfile"]["name"];
copy($_FILES["uploadedfile"]["tmp_name"],$target_path.$_FILES["uploadedfile"]["name"]);
$width=150; //กำหนดความกว้าง
$imageinfo = getimagesize($images);//หาข้อมูลรูป
$height=round($width*$imageinfo[1]/$imageinfo[0]);//กำหนดความสูง
$image_type = $imageinfo['2'];//หาประเภทรูป
if($image_type == 1) {
$images_orig = imagecreatefromgif($images); //resize รูปประเภท GIF
} else if($image_type== 2) {
$images_orig = imagecreatefromjpeg($images); //resize รูปประเภท JPEG
}else if($image_type== 3) {
$images_orig = imagecreatefrompng($images); //resize รูปประเภท PNG
}
//สร้างรูปใหม
$photoX = ImagesX($images_orig);
$photoY = ImagesY($images_orig);
$images_fin = ImageCreateTrueColor($width, $height);
ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
ImageJPEG($images_fin,$target_path.$new_images);//สร้างรูปใหม่
ImageDestroy($images_orig);
ImageDestroy($images_fin);
$sql = "update student set st_imgthumb='".$new_images."' ,st_imgfull='".$_FILES["uploadedfile"]["name"]."' where st_id='".$_POST["student_id"]."'";
//echo $sql;exit;
mysql_query( $sql ) or die (mysql_error());
|
ประวัติการแก้ไข 2013-08-09 16:21:36
|
|
|
|
Date :
2013-08-09 16:11:02 |
By :
narubet |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String urlServer = "http://192.168.2.4/android/upload.php";
ทำไมไม่ลองเพิ่มคิวรี่สตริงดูหละครับ
http://192.168.2.4/android/upload.php?stdid=1&name="firstname"
แล้วใน php ก็ _GET ออกมาปกติ
|
|
|
|
|
Date :
2013-08-09 16:51:34 |
By :
ปลา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับส่งค่ามาได้แล้วครับ ผมคิดว่ามันต้อง httpPost มันถึงจะได้ ไม่คิดว่าตรงๆแบบนั้นก็ได้ด้วย ยังไงก็ขอบคุณมากครับ
|
|
|
|
|
Date :
2013-08-09 17:08:22 |
By :
narubet |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|