文件上传

HTTP 协议定义服务器端和客户端之间文件传输的沟通方式。目前HTTP协议的版本是Http1.1。RFC 2616描述了HTTP协议的具体信息。

这个协议已经成为浏览器和Web站点之间的标准。

当我上网的时候底层是如何进行交互的?

当访问者点击一个超链接的时候,将会给浏览器提交一个URL地址。通过这个URL地址,浏览器便知道去链接那个网站并去取得具体的页面文件(也可能是一张图片,一个pdf文件)。

HTTP工作的基础就是,连接一个服务器并开始传输文件到浏览器。

HTTP传输的基本过程

在http传输的过程中,被称为客户端的请求者向服务器请求一个文件。

最基本的过程是:
1 客户端连接一个主机;
2 服务器接收连接,
3 客户端请求一个文件,
4 服务器发送一个应答.
[quote]http://zhidao.baidu.com/question/16328941.html?si=1 [/quote]

struts2的xml文件

<!-- 指定上传文件时临时文件存放的地方 -->
<constant name="struts.multipart.saveDir" value="c:\"></constant>
<constant name="struts.custom.i18n.resource" value="message"></constant>
<!--
设置编码为GBK
<constant name="struts.i18n.encoding" value="gbk"></constant>
-->

<package name="struts2" extends="struts-default">
<action name="update" class="com.house.ornamentation.upload.action">
<result name="input">/upload.jsp</result>
<result name="success">/uploadResult.jsp</result>
<interceptor-ref name="fileUpload">
<!-- 指定上传文件大小,单位为字节 -->
<param name="maximumSize">102400000</param>
<!-- 允许上传的文件类型,更多类型可以查看tomcat文件夹下的conf文件夹下的web.xml文件 -->
<!-- <param name="allowedTypes">image/gif</param> -->
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>

</package>


java 文件应该这样子的


public String execute() throws Exception {
for(int i=0;i<file.size();++i){
InputStream is= new FileInputStream(file.get(i));
//String root=ServletActionContext.getRequest().getRealPath("/upload");
//File destFile= new File(root);
File f=new File(System.getProperty("user.dir"));
if(!f.isDirectory()){
f.mkdir();
}

OutputStream os= new FileOutputStream(new File(System.getProperty("user.dir"),this.getFileFileName().get(i)));

byte[]buffer=new byte[1024*1024];
int length=0;

while((length=is.read(buffer))>0){
os.write(buffer, 0, length);
}
is.close();
os.close();
}
return SUCCESS;
}

jsp页面省略.....
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值