Софтуерно Инженерство
Loading...
+ Нов въпрос
StaVykoV avatar StaVykoV 169 Точки

HttpProtocolExercise - грешка в отворен jpg

Здравейте,

Когато изпращам jpg от сървъра ми, в браузъра ми изписва следната грешка:
http://localhost:8000/cat.jpg” cannot be displayed, because it contains errors.

Файла го намира, отваря и праща към клиента без някакви очевадни грешки и exception-и.

Ето я и частта от кода, в която пращам файла.
 

Някакви идеи?

Тагове:
0
Java Web Development Basics
dspassov avatar dspassov 16 Точки

Към хедърите добавяш ли Content-Length и Content-Disposition?

0
StaVykoV avatar StaVykoV 169 Точки

Не добавях само content-disposition, но и след добавянето му няма разлика. Единствената разлика е, че като го задам "attachment"ми дава да тегля файла, но като го отворя е само черно. Мислех си да не би да е нещо от content length. Там си задавам големината на byte array-a който ми държи картинката.

0
StaVykoV avatar StaVykoV 169 Точки

Също така, по някаквапричина, като пратя отговор "HTTP/1.1 404 Not Found" в браузъра не ми показва статуса. А когато пратя със статус 200 ми го показва.

0
totopopov avatar totopopov 1 Точки

Аз имам същия проблем и не съм сигурен как да процедирам. /Status 404 does not show anything./

0
StaVykoV avatar StaVykoV 169 Точки

При мен се оправи това. Оказа се, че пращам някакъв странен статус. Погледни си добре заявката преди да я пратиш принтирай си я на няколко различни места.

0
StaVykoV avatar StaVykoV 169 Точки

Намерих си грешката. Проблемът беше в това, че конструктирах хедърите и след това добавях снимката, но преди това я превръщах от byte[] в String, за да мога да я закача. След закачането превръщах стринга отново в byte[]. Сега първо превръщам хедърите в byte[] и после свързвам двата масива и всичко е 6.

0
kgyorev avatar kgyorev -10 Точки

Между другото сега се загледах в имлементацията която се ползваше в лаба на state managment  и като гледам респонс хедарите като цяло липсват, връща се само HTTP/1.1 200 OK празен ред и след това контента.

 

0