Forum Post: RE: Images on datagrid

Status
Not open for further replies.
Y

ymaisonn

Guest
Cause: The following error... he URL: GET appdesigner.rollbase.com/.../2wBDAAQDAwMDAgQ…dcavddzPbL2w+b2S9n7jmgBx9LRbClzBW1rhSleVaaUuLt7OMVX2/Mvze3h7ZcfacgAB//2Q== 414 (Request-URI Too Large) ..was occuring because when mapping the tt-cimage JSDO element to the imgPart element, the src attribute was assigned the image bytestream img src=".../2wBDAAQDAwMDAgQ…dcavddzPbL2w+b2S9n7jmgBx9LRbClzBW1rhSleVaaUuLt7OMVX2/Mvze3h7ZcfacgAB//2Q==" .../ The client would then process the src value as a target URL and run a GET operation on the server. the correct value for src should be "date:image/jpg;base64,.../2wBDAAQDAwMDAgQ…dcavddzPbL2w+b2S9n7jmgBx9LRbClzBW1rhSleVaaUuLt7OMVX2/Mvze3h7ZcfacgAB//2Q==" In other words we need to prepend "date:image/jpg;base64," before the image bytestream. This can be achieved on the client via JS. However in the case of datagrids, the value is assigned AFTER the JSDO read operation is complete for the grid item. This causes the src value to be assigned to the next image grid element. Resolution: Build the content type directly on the AppServer, ie prepend the "date:image/jpg;base64," to the CLOB temp table field that stores the image bytestream. ASSIGN phDataset:GET-BUFFER-HANDLE(1)::tt-cimage = "date:image/jpg;base64," + BASE64-ENCODE(encdmptr)

Continue reading...
 
Status
Not open for further replies.
Top