第四十四讲:tapestry upload组件

此教程我们使用常用的multipart/form-data同过post方式实现上传,上传实现依旧使用了 tapestry的UploadedFile组件,我随便写了个字符串to,这个字符串可以随便命名的,没有具体实际意义,作用就是传一个值到上传处理页面让它知道执行了上传这个动作。还需要创建一个解码器。代码如下:

UploadTypeFile.tml

<html t:type="layout" title="tapestryStart Index"  t:sidebarTitle="Framework Version" 
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
<form action="UploadTypeFile/to/" method="post" enctype="multipart/form-data" >  
      <input type="file" name="filename"/>  
      <input type="submit" value="Submit" />        
</form>
</html>

UploadTypeFile.java

/**
 * 项目名称:TapestryStart
 * 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
 * 网址: http://www.flywind.org
 * 版本:1.0
 * 编写:飞风
 * 时间:2012-02-29
 */
package com.tapestry.app.pages;
 
import java.io.File;
 
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.upload.services.MultipartDecoder;
import org.apache.tapestry5.upload.services.UploadedFile;
 
public class UploadTypeFile {
 
@Property
private UploadedFile file;
 
@Inject
private MultipartDecoder decoder;
 
void onActivate(String to){
file = decoder.getFileUpload("filename");
File copied = new File("d:\\", file.getFileName());
file.write(copied);
}
 
 
}
 

你可能感兴趣的:(第四十四讲:tapestry upload组件)