2017-08-01 25 views
8

Chúng tôi có một ứng dụng web (rất liên tục) đang trả về một URL dữ liệu hình ảnh PNG bị hỏng một phần. Hình ảnh có phần màu đen lớn bao gồm một số hình ảnh nhưng không phải tất cả. Những hình ảnh này là chữ ký của khách hàng.
Ví dụ:Canvas .toDataURL() trả về một phần hình ảnh bị lỗi

enter image description here

Chúng tôi đang sử dụng các thành phần chữ ký pad từ this. URL hình ảnh được trả lại bằng cách sử dụng thường lệ getSignatureImage().

Điều duy nhất tôi thấy từ nhật ký truy cập dường như hiển thị các yêu cầu bị ảnh hưởng đến từ thiết bị "Samsung Galaxy Tab", nhưng sử dụng Chrome 59. Tuy nhiên, các yêu cầu khác từ cùng thiết bị hoạt động OK.

Bất kỳ trợ giúp nào được đánh giá cao.

+0

Bằng cách nào đó, tôi đoán nó phụ thuộc vào bộ nhớ của thiết bị. Bạn có thể tái tạo nó theo bất kỳ cách nào không? –

+0

Kích thước tệp hình ảnh PNG là gì? Ngoài ra, hình ảnh này có thể được xem mà không có sự cố từ trình duyệt hoặc các ứng dụng khác có khả năng hiển thị hình ảnh không? – JohnH

+0

Xin chào tất cả, có vẻ như điều này có thể phụ thuộc vào thiết bị (bộ nhớ liên quan). Người dùng cuối đang cố gắng hoán đổi thiết bị để xem điều này có giải quyết được vấn đề không. Để trả lời các câu hỏi ... không, tôi không thể tái tạo điều này và có, hình ảnh chữ ký sẽ ổn khi hiển thị trên màn hình trình duyệt trước khi nó được lưu vào JSON từ truyền lại cho máy chủ ứng dụng. – tip2tail

Trả lời

1

Hiện tại, chúng tôi đã xác nhận rằng vấn đề phụ thuộc vào thiết bị.

Người dùng cuối bị ảnh hưởng đã thay đổi từ các thiết bị cũ hơn Samsung Galaxy Tab 4 thành Tab S2 thiết bị. Vấn đề không còn xảy ra nữa.

Dường như đã có giới hạn độ dài chuỗi trên các thiết bị cũ hơn.

Cảm ơn sự giúp đỡ!

1

Tôi nghĩ rằng đó không phải là vấn đề về bộ nhớ. Khi hình ảnh tiêu thụ quá nhiều bộ nhớ, một hình ảnh sẽ chỉ đơn giản là màu đen (pixel rỗng rgb (0,0,0)). Cố gắng lấy blob từ canvas - canvas.toBlob (hàm (blob) {}). Có lẽ hình ảnh của bạn chưa được tải hoặc vẽ. Hãy thử đặt window.setTimeout ở đâu đó trước khi bạn nhận được dữ liệu hình ảnh (base64 hoặc blob)

Các vấn đề liên quan