前台代码 (smarGwt):
public DataSourceTextField DataSourceDateFieldUploadingPic(String timeId,String timeName){
//SC.showConsole();
//"file"
new DataSourceValidateFile();
textuploadFile=new DataSourceTextField(timeId,"<nobr>"+timeName+"</nobr>");
formItem=new CanvasItem(timeId,"<nobr>"+timeName+"</nobr>");
formItem.setWidth("200");
final DynamicForm picForm=new DynamicForm();
picForm.setEncoding(Encoding.MULTIPART);
CanvasItem pictureShowItem=new CanvasItem("pictureShowItem","照片");
pictureShowItem.setRowSpan(3);
final Image image=new Image();
image.setUrl(GWT.getHostPageBaseURL()+"icons/fwsp.png");
Canvas c=new Canvas();
c.addChild((image));
pictureShowItem.setCanvas(c);
UploadItem pictureItem =new UploadItem("file","<nobr>"+timeName+"</nobr>");
SubmitItem submitPic=new SubmitItem("submitPic","上传照片");
picForm.setItems(pictureShowItem,pictureItem,submitPic);
picForm.setAction(GWT.getHostPageBaseURL()+"personalInfo/upload");
final Window tipWin=new Window();
tipWin.setTitle("上传提示窗口");
HTMLPane htmlPane=new HTMLPane();
htmlPane.setContents("<IFRAME name=\"uploadFrame2018\" class=gwt-Frame style=\"WIDTH:100%; HEIGHT:100%\" src=\""+GWT.getHostPageBaseURL()+"uploading.gsp\"></IFRAME>");
htmlPane.setSize("100%", "100%");
htmlPane.moveTo(0, 20);
tipWin.addChild(htmlPane);
tipWin.addCloseClickHandler(new CloseClickHandler() {
public void onCloseClick(CloseClientEvent event) {
mainService.getPicName(new AsyncCallback() {
public void onFailure(Throwable caught) {
}
@Override
public void onSuccess(Object result) {
strValue=result.toString();
image.setUrl(GWT.getHostPageBaseURL()+"picture/"+result.toString()+"?"+Random.nextDouble());
tipWin.clear();
}
});
}
});
picForm.setTarget("uploadFrame2018");
submitPic.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
tipWin.setSize("300","300");
tipWin.setAutoCenter(true);
tipWin.show();
tipWin.bringToFront();
picForm.submitForm();
}
})
;
picForm.setIsGroup(true);
picForm.setGroupTitle("上传照片");
formItem.setCanvas(picForm);
return textuploadFile;
}
public DynamicForm createForm(){
DataSource dataSource=new DataSource();
dataSource.setClientOnly(true);
DataSourceValidateFile file=new DataSourceValidateFile();
dataSource.setFields(file.DataSourceDateFieldUploadingPic("attachment1","上传访谈文件"));
final DynamicForm form=new DynamicForm();
form.setUseAllDataSourceFields(true);
form.setDataSource(dataSource);
form.setFields(file.formItem);
return form;
}
VisitRecordDTO visit=new VisitRecordDTO();
visit.setAttachment1(form.getValueAsString("attachment1"));
public String getPicName(){
return session["stupic"];
}
后台代码 (Grails+Groovy):
def upload={
params.each{
println it
}
CommonsMultipartFile uploadFile=params.file
if(!uploadFile.isEmpty()){
String oFileName=uploadFile.getOriginalFilename()
Date fname=new Date()
Long fff=fname.getTime()
def fileSaveName=fff+oFileName.substring(oFileName.lastIndexOf("."))
def fileSavePath=request.getRealPath("/")+"uploads\\"+ fileSaveName
println fileSavePath
uploadFile.transferTo(new File(fileSavePath) )
session.setAttribute("stupic",fileSaveName)
render "上传成功,请关闭提示窗口!"
}else{
}
}
如果有不会写的 请给本人留言 谢谢
分享到:
相关推荐
Groovy / Grails F2 The Best Web Server
Groovy / Grails F3 The Best Web Server
Groovy / Grails F4 The Best Web Server
Groovy Grails , The best web server.
NULL 博文链接:https://lishouxinghome.iteye.com/blog/990601
详细讲解grails开发环境配置。 详细讲解grails连接mysql数据库,crud开发
在学习任何东西之前,最重要的是培养兴趣,Groovy世界最耀眼的技术之一--Grails相信大家早已耳闻,我将通过Grails实战系列文章 向您展现Grails的迷人风采,使您感受到Grails的魅力,以至疯狂地爱上Grails,并坠入...
一个Grails登陆的实例,包含密码加密等等
groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part1 共两个压缩包,解压后将扩展名.zip.bak改为.zip再次解压。
grails 用户登录的例子,必须登录后才可以查看信息,并且只有admin用户才可以创建用户,此例子,只要将grails 的环境配好,就可以用了,用的是自带的数据库,如果需要mysql 可以更改。
grails入门指南实例,grails+mysql,实现用户登陆实例
使用 Grails 和 jQuery 快速开发一个 Web Calendar 程序。
http://www.amazon.com/Grails-Persistence-GORM-Robert-Fischer/dp/1430219262 讲解GORM的书,只有155页,很容易可以完看。
介绍了使用ajax的几个常用标签,欢迎志同道合的朋友来看看
Grails Grails Grails Grails Grails
Grails-MyBatis 用于 Grails 框架的 MyBatis 插件 基于原始 Grails-iBatis 插件:Brian Sanders ( ) Grails 插件主页: : 修改: 命名约定的一些变化 添加了对多个数据源的完全支持 Grails 2.0 插件重构 最小 ...
maven aliyun 私有仓库服务配置文件。...grails-core https://maven.aliyun.com/nexus/content/repositories/grails-core apache snapshots https://maven.aliyun.com/nexus/content/repositories/apache-snapshots
设置GRAILS_HOME环境变量以指向提取的下载文件的根目录,并将GRAILS_HOME/bin添加到您的可执行文件PATH 。 然后在外壳中,键入以下内容: grails create-app sampleapp cd sampleapp grails run-app 要构建Grails...
Grails 网址缩短器 这是一个 grails 插件,它在您的 Grails 应用程序中集成了一个 url 缩短器。 安装 在BuildConfig添加以下依赖项: compile " :url-shortener:<version> " 配置 安装插件后,您必须将以下配置...
freemarker是一个比较好用的java模板引擎,grails也对它有很好的支持,该资源大有用处。