Я использую виджет загрузки файлов GWT, чтобы загрузить изображение, а затем сервлет http, чтобы загрузить изображение в базу данных.
Я использую formPanel FormPanel.METHOD_GET для вызова моего сервлета doGet (), и я получаю изображение и сохраняю его в байтовом массиве.Я не уверен, как вернуть это клиенту?
код клиента
downloadPanel = new FormPanel();
downloadPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
downloadPanel.setMethod(FormPanel.METHOD_GET);
downloadPanel.setAction(GWT.getModuleBaseURL()+"downloadfile" + "?brandID="+ accountIdStr);
downloadPanel.submit();
downloadPanel.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
@Override
public void onSubmitComplete(FormPanel.SubmitCompleteEvent submitCompleteEvent) {
image.setUrl(" http://www.tutorialspoint.com/images/gwt-mini.png");
// image.setUrl(submitCompleteEvent.getResults());
Window.alert(submitCompleteEvent.getResults());
}
});
код сервера
public class FileDownload extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
UserAccount adminUserAccount = getAdminUserAccount(request);
int accountId = adminUserAccount.getAccountID();
byte[] b = API.GetAccountManager().getCompanyLogo(accountId);
Массив байтов содержит изображение.Как я могу вернуть байтовый массив или изображение обратно клиенту?