У меня есть следующий код на веб-странице для загрузки изображения на сервер
<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);
Когда мой сервер получает данные и сохраняет его на диск, он создает файл значительно большего размера. Есть ли для этого причина?