gpt4 book ai didi

java - 向gwt-upload中的UploadAction发送请求参数

转载 作者:行者123 更新时间:2023-11-30 07:27:46 28 4
gpt4 key购买 nike

我得到 gwt-upload在 GAE 应用程序中工作。作为suggested ,我实现了一个自定义 UploadAction 来处理文件在 DataStore 中的存储。代码是这样的:

public String executeAction(HttpServletRequest request,
List<FileItem> sessionFiles) throws UploadActionException {
logger.info("Starting: DatastoreUploadAction.executeAction");
String executeAction = super.executeAction(request, sessionFiles);

for (FileItem uploadedFile : sessionFiles) {
Long entityId = new Long(2001); // This is where i wanna use a request parameter
InputStream imgStream;
try {
imgStream = uploadedFile.getInputStream();
Blob attachment = new Blob(IOUtils.toByteArray(imgStream));
String contentType = uploadedFile.getContentType();
appointmentDao.setAppointmentAttachment(entityId, attachment,
contentType);
} catch (IOException e) {
logger.error("Unable to store file", e);
throw new UploadActionException(e);
}

}

return executeAction;
}

如您所见,DAO 类需要“EntityID”才能将上传的文件存储在 DataStore 中。现在我正在使用一个硬编码值,它运行良好,但我希望客户端将 entityID 作为请求参数发送。执行上传的小部件是一个 MultiUploader:

private MultiUploader defaultUploader;

MultiUploader 或任何其他 Widget 是否可以设置请求参数以便我可以在我的 UploadAction 中使用它?

最佳答案

是的,您可以在您的客户端代码中设置它。
有方法:MultiUploader #setServletPath(java.lang.String) ,例如:

  final MultiUploader u = new MultiUploader();
...
...
...
u.setServletPath(u.getServletPath() + "?entityId="+myObject.getEntityId());

在服务器端:

  String entityId= request.getParameter("entityId"); 

阅读此内容了解更多信息:Sending additional parameters to the servlet

关于java - 向gwt-upload中的UploadAction发送请求参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9508137/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com