앞서질문했던것에서 같은 쓰레드를 쓰면안된다고하여서 

클레스를 하나만들어서 AsyncTask를 상속해주었습니다. 

그리고 excute해주니까

역시나 사진은 업로드가 되지만 mp3파일은 업로드가 되질않는군요 ㅠㅠ....



이거하나만뜹니다 ㅠㅠ


11-17 00:31:33.556: D/SensorManager(23682): unregisterListener::  Listener= android.view.OrientationEventListener$SensorEventListenerImpl@42358578

11-17 00:31:33.556: D/Sensors(23682): Remain listener = Sending .. normal delay 200ms

11-17 00:31:33.556: I/Sensors(23682): sendDelay --- 200000000

11-17 00:31:33.561: D/SensorManager(23682): JNI - sendDelay

11-17 00:31:33.561: I/SensorManager(23682): Set normal delay = true




package com.example.cloud;


import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.net.HttpURLConnection;

import java.net.MalformedURLException;

import java.net.URL;


import android.app.Activity;

import android.app.ProgressDialog;

import android.content.Intent;

import android.database.Cursor;

import android.net.Uri;

import android.os.AsyncTask;

import android.provider.MediaStore;

import android.util.Log;

import android.widget.EditText;

import android.widget.Toast;


public class AndroidUploader extends AsyncTask<Void, Integer, Void> {

public static final int DIALOG_DOWNLOAD_PROGRESS = 0;

private String urlString;

private String params = "";

private String fileName;


private ProgressDialog dialog;


public AndroidUploader(String urlString, String fileName,ProgressDialog dialog) {

this.urlString = urlString;

this.fileName = fileName;

this.dialog = dialog;

}


@Override

    protected void onPreExecute() {

        dialog.setMessage("Uploading...");

        dialog.setIndeterminate(false);

        dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

        dialog.setProgress(0);

        dialog.show();

    }

@Override

protected Void doInBackground(Void... params) {

// TODO Auto-generated method stub

try {

// sendID();

String lineEnd = "\r\n";

String twoHyphens = "--";

String boundary = "*****";

FileInputStream mFileInputStream = new FileInputStream(fileName);

urlString += "?id=";

urlString += main.usr.getUserId();

urlString += "&path=" + fileName;

Log.d("Test", urlString);

URL connectUrl = new URL("urlString);

Log.d("Test", "mFileInputStream  is " + mFileInputStream);


// open connection

HttpURLConnection conn = (HttpURLConnection) connectUrl

.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);


// write data

DataOutputStream dos = new DataOutputStream(conn.getOutputStream());

dos.writeBytes(twoHyphens + boundary + lineEnd);

dos.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\""

+ fileName + "\"" + lineEnd);

dos.writeBytes(lineEnd);


int bytesAvailable = mFileInputStream.available();

int maxBufferSize = 8 * 1024 * 1024;

int bufferSize = Math.min(bytesAvailable, maxBufferSize);


byte[] buffer = new byte[bufferSize];

int bytesRead = mFileInputStream.read(buffer, 0, bufferSize);


Log.d("Test", "image byte is " + bytesRead);


// read image

while (bytesRead > 0) {

dos.write(buffer, 0, bufferSize);

bytesAvailable = mFileInputStream.available();

bufferSize = Math.min(bytesAvailable, maxBufferSize);

bytesRead = mFileInputStream.read(buffer, 0, bufferSize);

}


dos.writeBytes(lineEnd);

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


// close streams

Log.e("Test", "File is written");

mFileInputStream.close();

dos.flush(); // finish upload...


// get response

int ch;

InputStream is = conn.getInputStream();

StringBuffer b = new StringBuffer();

while ((ch = is.read()) != -1) {

b.append((char) ch);

}

String s = b.toString();

Log.e("Test", "result = " + s);

// mEdityEntry.setText(s);

dos.close();


} catch (Exception e) {

Log.d("Test", "exception " + e.getMessage());

// TODO: handle exception

}

return null;

}

@Override

   protected void onPostExecute(Void result) {

       try {

       

           dialog.dismiss();

       } catch(Exception e) {

       }


   }


}