Изображение отправляется из C # в приложение Android Studio через сокет, но я не могу открыть изображение в моем телефоне - PullRequest
0 голосов
/ 22 сентября 2019

Я пытаюсь отправить другое изображение, но изображение в моем телефоне не открывается.Я подтверждаю, что данные были отправлены. C # является сервером для отправки изображения, а AndroidStudio считается клиентом для получения изображения.

C #

String filename = "C:\\Users\\YK Chen\\Desktop\\EE.png";
            FileInfo fileInfo = new FileInfo(filename);
            byte[] buffer = new byte[fileInfo.Length];

            using(FileStream stream = fileInfo.OpenRead())
            {
                stream.Read(buffer, 0, buffer.Length);
            }

            byte[] datasize = new byte[4];

            datasize = BitConverter.GetBytes(buffer.Length);
            clientSocket.Send(datasize);
            clientSocket.Send(buffer, buffer.Length, SocketFlags.None);
            MessageBox.Show("Send!");

AndroidStudio

if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
                    {
                        File sdFile = Environment.getExternalStorageDirectory();
                        String path = sdFile.getPath() + File.separator + "Receive";
                        File dirFile = new File(path);

                        if(!dirFile.exists()){
                            dirFile.mkdirs(); 
                        }

                        File bmpFile = new File(path, filename);
                        BufferedInputStream bis = new BufferedInputStream(socket.getInputStream());
                        BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(bmpFile));
                        byte[] data = new byte[1024*5];
                        int len= -1;
                        while ((len =bis.read(data) ) != -1) {
                            os.write(data,0,len);
                        }
                        bis.close();
                        os.flush();
                        os.close();
                        socket.close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...