站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题关于文件上传的苦恼!!!!(三天没解决的问题,救急)

关于文件上传的苦恼!!!!(三天没解决的问题,救急)

摘要: 关于文件上传的苦恼!!!!(三天没解决的问题,救急)


各位大侠,领导要求将以前通过表单上传改为通过falsh上传。通过表单上传,后台的java到时有很好的处理方法,比如如果通过表单提交,可以使用FormFile,或者commons fileupload 。现在要求使用falsh上传,因为flash脚本里没有表单以及input type=file这样的概念,所以formfile肯定费了,commons fileupload我看了一些例子,页面提交也是使用表单。没有办法,查了一下falsh上传的资料,falsh上传后台只能找到c#,php的处理代码。比如c#可以通过下面的代码处理:
string saveToFolder = "savedFiles"
private void Page_Load(object sender, System.EventArgs e)
{
HttpFileCollection uploadedFiles = Request.Files;
string Path = Server.MapPath(saveToFolder);
for(int i = 0 ; i < uploadedFiles.Count ; i++)
{
HttpPostedFile F = uploadedFiles[i];
if(uploadedFiles[i] != null && F.ContentLength > 0)
{
string newName = F.FileName.Substring(F.FileName.LastIndexOf("//") + 1);
F.SaveAs(Path + "/" + newName);
}
}
}
郁闷的是没有现成的java代码。看了一下c#的代码,好象是直接从http请求的头里取得上传文件的内容(客户端不管是用什么请求,将来上传的内容肯定是放到协议里传到服务器端处理,c#好象直接针对http请求做文章,没有与具体的表单绑定)。可是在java中却没有类似HttpFileCollection的类,直接从http的请求中取出上传的文件内容。各位能不能帮我想个办法。这个问题的综合难度可能很大(罽为涉及到falsh请求),所以如果能解决的话,小弟愿把解决办法整理出来,放到网上与大家分享。谢谢各位。


flash上传的格式:
Content-Type: multipart/form-data; boundary=AaB03x
--AaB03x
Content-Disposition: form-data; name="Filedata"; filename="example.jpg"
Content-Type: application/octet-stream
... contents of example.jpg ...
--AaB03x--


刚才查了一下资料,好象使用jsp smart upload能解决这个问题。明天再说吧,回家了。


涉及到falsh的文件上传,没做过...

给你顶一下..


关注,现在flash用的比较多,应该学习一下


三、文件上传篇

㈠ 表单要求

对于上传文件的FORM表单,有两个要求:

1、METHOD应用POST,即METHOD="POST"。

2、增加属性:ENCTYPE="multipart/form-data"

下面是一个用于上传文件的FORM表单的例子:



<form METHOD="POST" ENCTYPE="multipart/form-data"

<input TYPE="FILE" NAME="MYFILE">
<input TYPE="SUBMIT">
</form>



㈡ 上传的例子

1、上传页面upload.html

本页面提供表单,让用户选择要上传的文件,点击"上传"按钮执行上传操作。

页面源码如下:


↑返回目录
前一篇: java中关于对象传输的一个问题
后一篇: 高手进来看看~