第四十五讲:tapestry upload组件使用input type="file"实现上

此教程我们使用常用的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="filename1"/><br/>

      <input type="file" name="filename2"/><br/>

      

      <input type="text" name="files" value="filename1,filename2"/><br/>

      <input type="submit" value="Submit" />        

</form>

</html>


/**

 * 

 */

package corner.app.pages.upload;


import java.io.File;


import org.apache.tapestry5.annotations.Property;

import org.apache.tapestry5.ioc.annotations.Inject;

import org.apache.tapestry5.services.Request;

import org.apache.tapestry5.upload.services.MultipartDecoder;

import org.apache.tapestry5.upload.services.UploadedFile;


/**

 * @author <a href="mailto:xf@bjmaxinfo.com">xiafei</a>

 * 

 */

public class UploadTypeFile {

@Property

private UploadedFile file;


@Inject

private MultipartDecoder decoder;

@Inject

private Request request;


void onActivate(String to) {

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

String [] names = files.split(",");

for(String s : names){

file = decoder.getFileUpload(s);

File copied = new File("c:\\", file.getFileName());

file.write(copied);

}

}

}


转载于:https://my.oschina.net/shootercn/blog/55538

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值