前台js 后台java 怎么上传文件

前台js 后台java 怎么上传文件,第1张

前台部分代码:
<form name="buildform" id="buildform" action=" " enctype="multipart/form-data" method="post">
<table>
<tr>
<td colspan="" class="label">文件上传:</td>
<td class="label" align="left">
<div id="d">
<input type="file" name="fileurl" value="" />
</div>
</td>
</tr>
</table>
后台部分代码java:
// 创建一个文件上传的工厂实例
DiskFileItemFactory factory = new DiskFileItemFactory();
// 设置文件缓存地址和缓存大小
factorysetRepository(new File(requestgetRealPath("/")));
factorysetSizeThreshold(1024 1024 20);

// 用上工厂实例创建一个上传文件对象
ServletFileUpload upload = new ServletFileUpload(factory);
uploadsetHeaderEncoding("gbk");

String name = "";
String code = "";
String sredate = "";
String ssetdate = "";
String setworker = "";
String reworker = "";
String memo = "";
String contents = "";

Long redptid = null;
Long setdptid = null;
String fileurl = "";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date setdate = null;
Date revisedate = null;

// 处理页面传过来的表单
int k = 0;
List items = null;

try {
items = uploadparseRequest(request);
} catch (FileUploadException e) {
eprintStackTrace();
}
// 遍历所有的表单项
for (int i = 0; i < itemssize(); i++) {
FileItem item = (FileItem) itemsget(i);
// 如果这个表单是普通表单域
if (itemisFormField()) {
// 取得表单名
String formname = itemgetFieldName();
if(formnameequals("name")){
name = itemgetString("gbk");
}else
if(formnameequals("code")){
code = itemgetString("gbk");
}else
if(formnameequals("revisedate")){
sredate = itemgetString("gbk");
if(!sredateequals("")){
revisedate = sdfparse(sredate);
}
}else
if(formnameequals("setdate")){
ssetdate = itemgetString("gbk");
if(!ssetdateequals(""))
setdate = sdfparse(ssetdate);
}else
if(formnameequals("redptid")){
String s_redptid = itemgetString("gbk");
if(!s_redptidequals("x"))
redptid = LongparseLong(s_redptid);
}else
if(formnameequals("setdptid")){
String s_setdptid = itemgetString("gbk");
if(!s_setdptidequals("x"))
setdptid = LongparseLong(s_setdptid);
}else
if(formnameequals("setworker")){
setworker = itemgetString("gbk");
}

/// 取得表单的value值
String formvalue = itemgetString("gbk");/

}
// 如果是文件域
else {
k++;
// 取得文件域的表单域名
String fieldName = itemgetFieldName();

// 取得文件名
String fileName = itemgetName();

// 取得文件类型
String contentType = itemgetContentType();

// 对于上传文件的存放地址来建立一个输出流
FileOutputStream fos = new FileOutputStream(request
getRealPath("/")+"uploadimg/" + imgName);

// 判断上传文件是否在缓存中
if (itemisInMemory()) {
// 得到上传文件输入流
InputStream is = itemgetInputStream();
byte[] buffer = new byte[1024];
int len;

// 将上传文件写入服务器文件中
while ((len = isread(buffer)) > 0) {
foswrite(buffer, 0, len);
}
isclose();
fosclose();
}
}
}
}

//要有form标签,设置提交地址。后面就是后台的事了。
<form action="提交地址" method="post" enctype="multipart/form-data">
<input type="button" id="upload" name="" value="选择" />
<input type="submit" id="upload" name="" value="提交" />
</form>
//百度没给我审核通过:“先介绍算法思路,再给出参考代码,并对关键代码做注释说明。提供运行效果截图。”
//这句话是给百度的:“我真实忍不住要骂人,思路,参考代码,注释,还要运行效果截图!!这一串下来要花多少时间??你TM是给我发工资还是怎么!!!??我给别人解决问题浪费我少许时间我可接收我也算助人为乐,现在到好还要像孙子一样按你的指示一步步做事????”

<script type="text/javascript">
/
 CreateFile: 测试在电脑上创建一个文件件,并在文件夹里写进一些数据。
 
 /
function CreateFile()
{
   var fso, tf;
   fso = new ActiveXObject("ScriptingFileSystemObject");//获取对象
   tf = fsoCreateTextFile("c:\\testfiletxt", true);//创建一个文件夹
   // 写一行,并且带有新行字符。
   tfWriteLine("Testing 1, 2, 3") ;
   // 向文件写三个新行字符。  
   tfWriteBlankLines(3) ;
   // 写一行。
   tfWrite ("This is a test");
   tfClose();//关闭
}
/
 Folder的API:
 任务 方法 
 创建文件夹。 FileSystemObjectCreateFolder 
 删除文件夹。 FolderDelete 或 FileSystemObjectDeleteFolder 
 移动文件夹。 FolderMove 或 FileSystemObjectMoveFolder 
 复制文件夹。 FolderCopy 或 FileSystemObjectCopyFolder 
 检索文件夹的名字。 FolderName 
 如果文件夹在驱动器上存在,则找出它。 FileSystemObjectFolderExists 
 获得现有 Folder 对象的实例。 FileSystemObjectGetFolder 
 找出文件夹的父文件夹名。 FileSystemObjectGetParentFolderName 
 找出系统文件夹的路径。 FileSystemObjectGetSpecialFolder 
 /
function ManipFiles()
{
   var fso, f1, f2, s;
   fso = new ActiveXObject("ScriptingFileSystemObject");
   f1 = fsoCreateTextFile("c:\\testfiletxt", true); //如果当前文件已经存在的话,则覆盖原有文件
   alert("Writing file <br>");
   // 写一行。
   f1Write("This is a test");
   // 关闭文件。
   f1Close();
   alert("Moving file to c:\\tmp <br>");
   if(!fsoFolderExists("c:\\tmp")) { //如果tmp目录不存在,则创建一个目录
        fsoCreateFolder("c:\\tmp");
   }
   // 获取 C 的根目录(C:\)中的文件的句柄。
   f2 = fsoGetFile("c:\\testfiletxt");
   // 把文件移动到 \tmp 目录。如果这个tmp目录下已经有testfiletxt文件了,则会出错。(如果没有tmp这个文件目录也会出错)
   f2Move ("c:\\tmp\\testfiletxt");
   alert("Copying file to c:\\temp <br>");
   // 把文件复制到 \temp 目录
   if(!fsoFolderExists("c:\\temp")) {//如果temp目录不存在,则创建一个目录
        fsoCreateFolder("c:\\temp");
   }
   f2Copy ("c:\\temp\\testfiletxt");
   alert("Deleting files <br>");
   // 获得文件当前位置的句柄。
   f2 = fsoGetFile("c:\\tmp\\testfiletxt");
   f3 = fsoGetFile("c:\\temp\\testfiletxt");
   // 删除文件。
   f2Delete();
   f3Delete();
   //删除文件夹
   var fdTmp = fsoGetFolder("c:\\tmp");
   var fdTemp = fsoGetFolder("c:\\temp");
   fdTmpDeleteFolder();
   fdTempDeleteFolder();
   alert("All done!");
}
ManipFiles();
//CreateFile();
</script>

以上是将内容保存在文件中。使用的是系统的文件对象,要求系统开启了以上activeX对象,并且有读写文件的权限。在动态网站中读写文件系统一般不需要使用JS的。aspnet/php/jsp都有相应的文件读写方法。

方法:
在配置文件>

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/13131043.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-30
下一篇2025-08-30

发表评论

登录后才能评论

评论列表(0条)

    保存