HTML Загрузка изображения на Java HTTP-сервер дает разные результаты - PullRequest
0 голосов
/ 05 августа 2020

У меня есть следующий код на веб-странице для загрузки изображения на сервер

<img id='output' style="height:100px; width:100px;"><br>
<input type="file" name="the_file"  onchange='openFile(event)'><br>    
<button type="submit" onclick="upload_image()">Click me</button>      
            
function upload_image()
{
    var fd = new FormData();                    
    var file = document.getElementsByName("the_file")[0];                    
    fd.append("afile", file.files[0]);                    
    var xhr = new XMLHttpRequest();
    xhr.open('POST', '/', true);
    xhr.send(fd);
                
}

На моем сервере у меня есть:

            BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                            BufferedInputStream bis = new     BufferedInputStream(socket.getInputStream());
                            BufferedOutputStream dataOut = new     BufferedOutputStream(socket.getOutputStream());
                            PrintWriter out = new PrintWriter(socket.getOutputStream());


                            String input = "";

                            while (true)
                            {
                                byte[] data = new byte[10000];
                                int size = bis.read(data);
                                if (size == -1) break;
                                
                                for (int i = 0; i < size; i++)
                                {
                                    char c = (char)data[i];
                                    
                                    if (c != '\n')
                                    {                                            
                                        input += c;
                                    }
                                    else
                                    {                                             
                                        
                                        if (image_data == false)
                                        {
                                           if (input.contains("Content-Type: image/jpeg"))
                                            {
                                                image_data = true;
                                            }
                                        }
                                        else
                                        {
                                            
                                            if (input.contains("-----"))
                                            {
                                                SaveToFile("mydata.jpeg", string);
                                            

            

Когда мой сервер получает данные и сохраняет его на диск, он создает файл значительно большего размера. Есть ли для этого причина?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...