Java Android映像未在ftp服务器中上载

Java Android映像未在ftp服务器中上载,java,android,ftp,Java,Android,Ftp,将图像从android手机上传到Ftp服务器,它没有将我的图像上传到Ftp服务器,它显示windows泄漏错误,它显示SD卡路径,但图像没有上传到Ftp文件夹,请任何人帮助我 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ivImage = (ImageView) findVi

将图像从android手机上传到Ftp服务器,它没有将我的图像上传到Ftp服务器,它显示windows泄漏错误,它显示SD卡路径,但图像没有上传到Ftp文件夹,请任何人帮助我

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

    ivImage = (ImageView) findViewById(R.id.ivImage);
    btnSetImage = (Button) findViewById(R.id.btnSelectPhoto);
    upload = (Button) findViewById(R.id.upload_btn);

    btnSetImage.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            selectImage();
        }
    });
    upload.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {

                dialog = ProgressDialog.show(MainActivity.this, "Uploading",
                        "Please wait...", true);
                dialog.setCancelable(true);
                //File f = new File("file:///android_asset/launcher.png");
                // Log.i("do in image ", tempPath);
                 new doFileUpload().execute(); 

            }
    });

}
class doFileUpload extends AsyncTask<Void, Void, String> {
   // Log.i("do in image ", path);

    String hostName = "xxxxx";
        String username = "dsdadg";
        String password = "adasdh";

        InputStream in = null;
        protected String doInBackground(Void... unsued) {
            String loc = tempPath.toString();

             Log.i("location in async ", loc);
        try {
            FTPClient  ftp = new FTPClient();
            ftp.connect(hostName);
            ftp.login(username, password);

            ftp.setFileType(FTP.BINARY_FILE_TYPE);

            ftp.changeWorkingDirectory("/ftp/gallery/");  // FTP folder path

            int reply = ftp.getReplyCode();
            System.out.println("Received Reply from FTP Connection:" + reply);

            if (FTPReply.isPositiveCompletion(reply)) {
                System.out.println("Connected Success");
            }
            File f1 = new File("/sdcard/Image/003.JPG");

            in = new FileInputStream(f1);


            ftp.storeFile("/ftp/gallery/", in);
            ftp.enterLocalPassiveMode();

            System.out.println("SUCCESS");

            ftp.logout();
            ftp.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return hostName;            
    }
}
private void selectImage() {
    final CharSequence[] items = { "Take Photo", "Choose from Library",
            "Cancel" };

    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
    builder.setTitle("Add Photo!");
    builder.setItems(items, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int item) {
            if (items[item].equals("Take Photo")) {
                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                File f = new File(android.os.Environment
                        .getExternalStorageDirectory(), "temp.jpg");
                intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f));
                startActivityForResult(intent, REQUEST_CAMERA);
            } else if (items[item].equals("Choose from Library")) {
                Intent intent = new Intent(
                        Intent.ACTION_PICK,
                        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                intent.setType("image/*");
                startActivityForResult(
                        Intent.createChooser(intent, "Select File"),
                        SELECT_FILE);
            } else if (items[item].equals("Cancel")) {
                dialog.dismiss();
            }               
        }
    });
    builder.show();
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
        if (requestCode == REQUEST_CAMERA) {
            File f = new File(Environment.getExternalStorageDirectory()
                    .toString());
            for (File temp : f.listFiles()) {
                if (temp.getName().equals("temp.jpg")) {
                    f = temp;
                    break;
                }
            }
            try {
                Bitmap bm;
                BitmapFactory.Options btmapOptions = new BitmapFactory.Options();

                bm = BitmapFactory.decodeFile(f.getAbsolutePath(),
                        btmapOptions);

                // bm = Bitmap.createScaledBitmap(bm, 70, 70, true);
                ivImage.setImageBitmap(bm);

            path = android.os.Environment
                        .getExternalStorageDirectory()
                        + File.separator
                        + "Phoenix" + File.separator + "default";
                f.delete();
                OutputStream fOut = null;
                File file = new File(path, String.valueOf(System
                        .currentTimeMillis()) + ".jpg");
                try {
                    fOut = new FileOutputStream(file);
                    bm.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
                    fOut.flush();
                    fOut.close();
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        } else if (requestCode == SELECT_FILE) {
            Uri selectedImageUri = data.getData();

             tempPath = getPath(selectedImageUri, MainActivity.this);
            Log.i("temporary path", tempPath);
            Bitmap bm;
            BitmapFactory.Options btmapOptions = new BitmapFactory.Options();
            bm = BitmapFactory.decodeFile(tempPath, btmapOptions);
            ivImage.setImageBitmap(bm);
        }
    }
        //return urlPosting;
}

public String getPath(Uri uri, Activity activity) {
    String[] projection = { MediaColumns.DATA };
    Cursor cursor = activity
            .managedQuery(uri, projection, null, null, null);
    int column_index = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
    cursor.moveToFirst();
    return cursor.getString(column_index);
}

}
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ivImage=(ImageView)findViewById(R.id.ivImage);
btnSetImage=(按钮)findviewbyd(R.id.btnSelectPhoto);
上传=(按钮)findViewById(R.id.upload\u btn);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
选择image();
}
});
upload.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
dialog=ProgressDialog.show(MainActivity.this,“上载”,
“请稍等……”,对);
对话框。可设置可取消(true);
//文件f=新文件(“file:///android_asset/launcher.png");
//Log.i(“图像中的do”,tempPath);
新建doFileUpload().execute();
}
});
}
类doFileUpload扩展了异步任务{
//Log.i(“图像中的do”,路径);
字符串hostName=“xxxxx”;
字符串username=“dsdadg”;
字符串密码=“adasdh”;
InputStream in=null;
受保护的字符串背景(无效…未指定){
String loc=tempPath.toString();
Log.i(“异步位置”,loc);
试一试{
FTPClient ftp=新的FTPClient();
连接(主机名);
ftp.login(用户名、密码);
setFileType(ftp.BINARY文件类型);
ftp.changeWorkingDirectory(“/ftp/gallery/”);//ftp文件夹路径
int reply=ftp.getReplyCode();
System.out.println(“收到来自FTP连接的回复:“+回复”);
如果(FTPReply.isPositiveCompletion(回复)){
System.out.println(“连接成功”);
}
文件f1=新文件(“/sdcard/Image/003.JPG”);
in=新文件输入流(f1);
ftp.storeFile(“/ftp/gallery/”,in);
ftp.enterLocalPassiveMode();
System.out.println(“成功”);
ftp.logout();
ftp.disconnect();
}捕获(例外e){
e、 printStackTrace();
}
返回主机名;
}
}
私有void selectImage(){
final CharSequence[]项={“拍照”,“从库中选择”,
“取消”};
AlertDialog.Builder=新建AlertDialog.Builder(MainActivity.this);
builder.setTitle(“添加照片!”);
setItems(items,新的DialogInterface.OnClickListener()对话框){
@凌驾
公共void onClick(对话框接口对话框,int项){
如果(项目[item].equals(“拍照”)){
意向意向=新意向(MediaStore.ACTION\u IMAGE\u CAPTURE);
文件f=新文件(android.os.Environment
.getExternalStorageDirectory(),“temp.jpg”);
intent.putExtra(MediaStore.EXTRA_输出,Uri.fromFile(f));
startActivityForResult(意图、请求和摄像头);
}else if(items[item].equals(“从库中选择”)){
意图=新意图(
意向、行动、选择,
android.provider.MediaStore.Images.Media.EXTERNAL\u CONTENT\u URI);
intent.setType(“image/*”);
startActivityForResult(
Intent.createChooser(Intent,“选择文件”),
选择_文件);
}else if(items[item].equals(“取消”)){
dialog.dismise();
}               
}
});
builder.show();
}
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
if(resultCode==RESULT\u OK){
if(requestCode==请求\摄像机){
文件f=新文件(Environment.getExternalStorageDirectory()
.toString());
对于(文件温度:f.listFiles()){
if(temp.getName().equals(“temp.jpg”)){
f=温度;
打破
}
}
试一试{
位图bm;
BitmapFactory.Options btmapOptions=新的BitmapFactory.Options();
bm=BitmapFactory.decodeFile(f.getAbsolutePath(),
BTMAP选项);
//bm=Bitmap.createScaledBitmap(bm,70,70,true);
ivImage.setImageBitmap(bm);
path=android.os.Environment
.getExternalStorageDirectory()
+文件分隔符
+“Phoenix”+File.separator+“default”;
f、 删除();
OutputStream fOut=null;
File File=新文件(路径,字符串.valueOf(系统
.currentTimeMillis())+“.jpg”);
试一试{
fOut=新文件输出流(文件);
bm.compress(Bitmap.CompressFormat.JPEG,85,fOut);
fOut.flush();
fOut.close();
}catch(filenotfounde异常){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}捕获(例外e){
e、 printStackTrace();
}
}捕获(例外e){
e、 printStackTrace();
}
}else if(requestCode==选择_文件){
Uri selectedImageUri=data.getData();
tempPath=getPath(selectedImageUri,MainActivity.this);
Log.i(“临时路径”,临时路径);
位图bm;
BitmapFactory.Options btmapOptions=新的BitmapF