社区
Web 开发
帖子详情
100分求一文件上传网页(在线等待)
YBOK
2004-08-26 06:02:27
很急的,谢谢
...全文
116
4
打赏
收藏
100分求一文件上传网页(在线等待)
很急的,谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jishuo
2004-08-26
打赏
举报
回复
你下载个jspsmartupload的包里面有好几种例子都是源码
gjd111686
2004-08-26
打赏
举报
回复
用JSP分析multipart/form-data基于表单的文件上传
http://blog.csdn.net/gjd111686/archive/2004/08/18/78324.aspx
<%
int iTotalByte,iTotalRead,iReadByte;
iTotalByte=request.getContentLength();
iTotalRead=0;
iReadByte=0;
byte[] Buffer=new byte[iTotalByte];
if(iTotalByte>0)
{
for(;iTotalRead<iTotalByte;iTotalRead+=iReadByte)
{
try
{
iReadByte=request.getInputStream().read(Buffer,iTotalRead,iTotalByte-iTotalRead);
}
catch(Exception e)
{
e.printStackTrace();
}
}
String strContentType=request.getContentType();
//数据处理开始
String strBuffer=new String(Buffer);
%><!--<br>表单数据:<br>strBuffer<br>--><%
String strBoundary="--"+strContentType.substring(strContentType.lastIndexOf("=")+1,strContentType.length());
String strArray[]=strBuffer.split(strBoundary);
String strSubString;
int iBegin,iEnd;
iBegin=0;iEnd=0;
String strFieldName="";
String strFieldValue="";
String strFilePath="";
String strFileName="";
String strFileType="";
boolean bTrue;
bTrue=false;
int iLocation=0;
for(int iIndex=1;iIndex<strArray.length-1;iIndex++)
{
strSubString=strArray[iIndex];
iBegin=strSubString.indexOf("name=\"",0);
if(iBegin!=-1)
{
strFieldName="";strFieldValue="";
strFilePath="";strFileName="";strFileType="";
iEnd=strSubString.indexOf("\"",iBegin+6);
strFieldName=strSubString.substring(iBegin+6,iEnd);
iBegin=strSubString.indexOf("filename=\"",0); if(iBegin!=-1)
{
bTrue=true;
}
iEnd=strSubString.indexOf("\r\n\r\n",0);
if(bTrue==true)
{
//文件路径
strFilePath=strSubString.substring(iBegin+10,strSubString.indexOf("\"",iBegin+10));strFileName=strFilePath.substring(strFilePath.lastIndexOf("\\")+1);
strFileType=strSubString.substring(strSubString.indexOf("Content-Type: ")+14,strSubString.indexOf("\r\n\r\n"));
%><!--<br>文件类型:<br>strFileType<br>--><%
//文件数据
iBegin=strSubString.indexOf("\r\n\r\n",iBegin);
strFieldValue=strSubString.substring(iBegin+4);
strFieldValue=strFieldValue.substring(0,strFieldValue.lastIndexOf("\n")-1);
%><!--<br>文件路径:<br>strFilePath<br>文件名称:<br>strFileName<br>--><%
byte[] pFile=strFieldValue.getBytes();
byte[] pFileExtend=new byte[pFile.length];
iLocation=strBuffer.indexOf("filename=\"",iLocation);
for(int kIndex=iLocation;kIndex<iTotalByte-2;kIndex++)
{
if(Buffer[kIndex]==13&&Buffer[kIndex+2]==13)
{iLocation=kIndex+4;break;}
}
for(int nIndex=0;nIndex<pFile.length;nIndex++)
{
pFileExtend[nIndex]=Buffer[iLocation+nIndex];
}
/*
//保存到Local Disk;
FileOutputStream pFileOutputStream=new FileOutputStream("F:\\Site_App\\UploadFile\\"+strFileName);
pFileOutputStream.write(pFileExtend);
pFileOutputStream.close();
*/
session.putValue(strFieldName+"_FileType",strFileType);
session.putValue(strFieldName+"_FilePath",strFilePath);
session.putValue(strFieldName+"_FileName",strFileName);
session.putValue(strFieldName,pFileExtend);
}
else
{
strFieldValue=strSubString.substring(iEnd+4);
strFieldValue=strFieldValue.substring(0,strFieldValue.lastIndexOf("\n")-1);
session.putValue(strFieldName,strFieldValue);
}
bTrue=false;
}
%><!--<br>表单域名:<br>strFieldName<br>表单域值:<br>strFieldValue<br>--><%
}
//数据处理结束
}
%>
这样(String)session.getValue("表单域名")返回表单域值,而(byte[])session.getValue("File上传控件域名")返回的字节数组就可以用new ByteArrayInputStream(byte[])调用updateBinaryStream来更新到数据库了
shangqiao
2004-08-26
打赏
举报
回复
咦,刚刚为了解决问题,突然想了一下,传文件用的是什么协议呀,因为我在html中写了<input type="file"/>后使用TCPMonitor监听查看,发现文件的内容信息没有显示,(原以为会将这些数据通过HTTP协议传上去)也就是说不是使用的HTTP协议,但是为什么使用TCPMonitor查看不到信息呢,是不是AXIS里面那个monitor只能解析HTTP协议的呀
BillyW
2004-08-26
打赏
举报
回复
你已经有框架了吗?STRUTS,SPRING,WEBWORK...
还是直接用servlet做?
java源码包---java 源码 大量 实例
java求一个整数的因子 如题。 Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(key...
org.apache.http相关jar包下载(httpcomponents-client-4.2.5-bin.tar)
- 网络爬虫是一种自动抓取
网页
内容的程序,常用于数据分析、搜索引擎索引等。 - 爬虫通过发送HTTP请求到目标服务器,然后解析接收到的HTML或其他格式的响应。 **HttpClient使用**: - 创建HttpClient实例:使用`...
html页面实现
文件上传
因为业务的需求,需要实现一个通过浏览器把本地
文件上传
到服务器的功能,因为之前没有做过,所以也是经过了一番探索才实现了这个功能,这里只介绍前端的实现,后台的接收、验证和保存就不介绍了。 这个流程如下: ...
vue3 - 实现大文件分片上传+断点续传+进度条+秒传+可暂停继续功能,vue3中实现分片大
文件上传
切片上传axios大文件支持单个/批量同时上传到服务器(大文件切片上传实现秒传+详细示例源码)
vue3超大文件批量同时上传且带进度条,VUE3大文件分片切片上传到服务器,Axios大
文件上传
到后端,可暂停上传点击后继续传,文件分块,上传进度条,Vue3大
文件上传
和断点续传,vue3中实现分片大
文件上传
,前端切片...
selenium从本地上传文件到
网页
selenium从本地上传文件到
网页
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章