У меня есть изображение, которое пользователи могут аннотировать в браузере. Я могу получить доступ к изображению, используя
canvas.toDataURL()
... Я хотел бы добавить опцию «сохранить», чтобы пользователь мог сохранить изображение на сервере.
На этот вопрос был дан ответ для php...
file_put_contents('test.png', base64_decode(substr($data, strpos($data, ",")+1)));
... что мне нужно, так это обратный вызов Seaside с содержимым файла PNG.
Есть ли способ сделать это в Seaside?
Йохан указал, что объявление типа шахты должно быть удалено из строки значения. Это работает в VW... (со строковым хаком для удаления 'data:image/png;base64')
html jQuery ajax callback: [:value | | writestream string | writestream := ('c:\data\sketchpad_image.png' asFilename withEncoding: #binary) writeStream. string := value copyFrom: 23 to: value size. [writestream nextPutAll: (Seaside.GRPlatform current base64Decode: string) asByteArray] ensure: [writestream close] ] value: (Javascript.JSStream on: 'sketchpadCanvas.toDataURL()')