Quantcast
Channel: Ignite Realtime: Message List
Viewing all articles
Browse latest Browse all 12162

Re: problem about file transfer

$
0
0

You can Try this :::

 

For Receive file  ::

 

FileTransferManager file = new FileTransferManager(connection);

 

                file.addFileTransferListener(new FileTransferListener() {

 

                    @Override

                    public void fileTransferRequest(

                            final FileTransferRequest request) {

                        // TODO Auto-generated method stub

 

                        Thread thread = new Thread(new Runnable() {

 

                            @Override

                            public void run() {

                                // TODO Auto-generated method stub

 

                                // TODO Auto-generated method stub

 

                                Log.e("Recieve File",

                                        "new file transfere request  new file transfere request   new file transfere request");

 

                                Log.e("file request",

                                        "from" + request.getRequestor());

 

                                IncomingFileTransfer transfer = request

                                        .accept();

 

                                Log.e("Recieve File alert dialog", "accepted");

                                try {

 

                                    File root = android.os.Environment

                                            .getExternalStorageDirectory();

                                    File dir = new File(root.getAbsolutePath()

                                            + "/download");

                                    dir.mkdirs();

 

                                    transfer.recieveFile(new File("/sdcard/"

                                            + request.getFileName()));

 

                                    while (!transfer.isDone()

                                            || (transfer.getProgress() < 1)) {

 

                                        Thread.sleep(1000);

                                        Log.e("Recieve File alert dialog",

                                                "still receiving : "

                                                        + (transfer

                                                                .getProgress())

                                                        + " status "

                                                        + transfer.getStatus());

 

                                        if (transfer.getStatus().equals(

                                                Status.error)) {

                                            // Log.i("Error file",

                                            // transfer.getError().getMessage());

                                            Log.e("Recieve File alert dialog",

                                                    "cancelling still receiving : "

                                                            + (transfer

                                                                    .getProgress())

                                                            + " status "

                                                            + transfer

                                                                    .getStatus());

                                            transfer.cancel();

 

                                            break;

                                        }

 

                                    }

 

                                } catch (XMPPException e) {

 

                                    // TODO Auto-generated catch block

                                    e.printStackTrace();

                                } catch (InterruptedException e) {

                                    // TODO Auto-generated catch block

                                    e.printStackTrace();

                                }

 

                            }

                        });

                        thread.start();

 

                    }

                });

 

 

2) For Send File

----------------------------------------

public static void setFilename(String filename, final String filepath) {

        @SuppressWarnings("deprecation")

        String FileName = URLDecoder.decode(filename);

        demo.globr.Utils.Log.print("Filename :: " + FileName);

        String FilePath = filepath.substring(7, filepath.length());

        demo.globr.Utils.Log.print("filepath :: " + FilePath);

 

        Thread t = new Thread(new Runnable() {

 

            @Override

            public void run() {

                // TODO Auto-generated method stub

                ProviderManager.getInstance().addIQProvider("query",

                        "http://jabber.org/protocol/bytestreams",

                        new BytestreamsProvider());

                ProviderManager.getInstance().addIQProvider("query",

                        "http://jabber.org/protocol/disco#items",

                        new DiscoverItemsProvider());

                ProviderManager.getInstance().addIQProvider("query",

                        "http://jabber.org/protocol/disco#info",

                        new DiscoverInfoProvider());

 

                XMPPConnection connection = XMPPLogic.getInstance()

                        .getConnection();

 

                if (connection != null && connection.isConnected()) {

 

                    FileTransferManager manager = new FileTransferManager(

                            connection);

                    OutgoingFileTransfer transfer = manager

                            .createOutgoingFileTransfer(receiverId + "/Smack");

                    File file = new File(filepath);

                    try {

                        transfer.sendFile(file, "test_file");

                    } catch (XMPPException e) {

                        e.printStackTrace();

                    }

                    while (!transfer.isDone()) {

                        if (transfer.getStatus().equals(Status.error)) {

                            Log.e("ERROR!!! ", transfer.getError().toString());

                        } else if (transfer.getStatus()

                                .equals(Status.cancelled)

                                || transfer.getStatus().equals(Status.refused)) {

                            Log.e("Cancelled!!! ", transfer.getError()

                                    .toString());

                        }

                        try {

                            Thread.sleep(1000L);

                        } catch (InterruptedException e) {

                            e.printStackTrace();

                        }

                    }

                    if (transfer.getStatus().equals(Status.refused)

                            || transfer.getStatus().equals(Status.error)

                            || transfer.getStatus().equals(Status.cancelled)) {

                       

                    } else {

                      

 

                    }

                }

            }

        });

        t.start();

 

    }


Viewing all articles
Browse latest Browse all 12162

Trending Articles