istemci tarafında görüntü tipi verirWebSocket API görüntü şifreleme aşağıdaki ikili kullanımı ile tomcat 8 bir web soket sunucusu sahip
BufferedImage img = ImageIO.read(...);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(img, "png", baos);
ByteBuffer bf = ByteBuffer.wrap(baos.toByteArray());
Bu kod, istemci tarafında (javascript) bir blob olarak biter ve sonuçta tarayıcıda bir görüntü olarak işlenir ve bu da gayet iyi çalışır. garip tek şey görüntü olarak typeless varılır:
verilerine:; base64, iVBORw0KGgoAAAA ...... == türü (image/png) olmadan. Aynı görüntü için çevrimiçi kodlayıcılar kullanırsanız
alacağım:
veriler: image/png; base64, iVBORw0KGgoAAAA ...... == böylece
ve benim soru (image/png türünü fark) bu neden bu? , byte dönüşüm yanlış mı? Söylediğim gibi, görüntü iyi görüntüleniyor, sadece türü eksik. java websocket sunucusundan gönderilen veri 64 ile kodlanmış değil, istemci tarafında yaptığım bir şey (JS'nin FileReader.readAsDataURL (blob) - çok yaygın). Uzun bir yayın
Merhaba ve ayrıntılı ve hızlı yanıt için teşekkürler. blob, web bağlantısının istemci tarafında çıkıyor ve bu bloğun orada ortam türü olmadığını denetliyor ... bu yüzden istemci tarafında medya türünün ne olduğunu belirleyemiyorum ... Sanırım sadece ikili kullanmamalıyım, kullanacağım java sunucu tarafında json dizisi ve bir özellik özelliği ekleyin ve başka bir özellikte bayt dizisi 64'te kodlayın. Bu düşünebildiğim tek çözüm. Tekrar teşekkürler! – user1061835
Rica ederim, evet daha iyi bir yol gibi görünüyor ya da sunucudaki Veri URL dizesini uygun mediatipe sahip olarak oluşturabilirsiniz. – 11thdimension