收录日期:2019/05/20 13:12:13 时间:2016/05/31 07:14:30 标签:Web 开发
package mysite;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
import java.util.*;
import OA.Conn;
import org.apache.commons.fileupload.*;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class uploadfile extends HttpServlet {
  private static final String CONTENT_TYPE = "text/html; charset=GBK";

  //Initialize global variables
  public void init() throws ServletException {
  }

  //Process the HTTP Get request
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>uploadfile</title></head>");
    out.println("<body bgcolor=\"#ffffff\">");
   // out.println("<p>The servlet has received a " + request.getMethod() + ". This is the reply.</p>");
    out.println("</body></html>");
  }

  //Process the HTTP Post request
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response);
    Conn conn=new Conn();
    request.setCharacterEncoding("GBK");
    PrintWriter out = response.getWriter();
    HttpSession session=request.getSession();
    //获得session并进行拆分

    String sjrcount=(String)session.getAttribute("sjrcount");//任务接收人数
    String str =(String)session.getAttribute("Leo");
    String newstr = str;
    //out.println(newstr+"<br>");
    int count;
    int count2;
    int i = 0;
    int k = 0;

    int sjr=Integer.parseInt(sjrcount);
    String[] stra = new String[sjr];

    while (i <= str.length()) {
        count = str.indexOf(',');
        if (count != -1) {
            str = str.substring(count + 1);
            count2 = str.indexOf(',');
            if (count2 == -1) {
                str = str.substring(count);
                //out.println(str);
                //System.out.println(k);
                stra[k] = str;
                k++;
                break;
             } else {
                newstr = str.substring(count, count2);
                str = str.substring(count2);
                //out.println(newstr);
                stra[k] = newstr;
                //System.out.println(k);
              }
             k++;
        }
    }
    //over

    //文件上传
    DiskFileUpload upload = new DiskFileUpload();//为该请求创建一个句柄,通过它来解析请求
    List items=null;
    try{
      items = upload.parseRequest(request);//通过句柄解析请求,解析得到的项目保存在一个List中
   }catch(Exception e){
      out.print(e.getMessage());
    }

    Iterator itr = items.iterator();
    //int i=0;
    FileItem item = (FileItem) itr.next();
    if(item.isFormField()){

    }else{
      File fullFile = new File(item.getName());
      
      File savedFile = new File(getServletContext().getRealPath("/")+"/oa/upload/",fullFile.getName());

      String filename=fullFile.getName();
      int count3=filename.indexOf('.');
      String last=filename.substring(count3);
      File myfile=new File("upload/"+fullFile.getName());
      myfile.renameTo("upload/"+stra[0]+last);
      out.println(savedFile);

      //更新发布任务的记录
      for(int a=0;a<stra.length;a++){
          String sql="update fbrwtable set fbrwfj='"+fullFile.getName()+"' where fbrwbh="+stra[a];
          //out.println(sql+"<br>");
          conn.executeUpdate(sql);
      }
      //over
      try{
        item.write(savedFile);
      }catch(Exception e){
        out.println(e.getMessage());
      }
    }
    //over
    out.println("<center><font size=2 color=red>任务发布成功</font></center>");
  }

  //Clean up resources
  public void destroy() {
  }
}


myfile.renameTo("upload/"+stra[0]+last);提示这短话有问题
错误提示如下:
"uploadfile.java": renameTo(java.io.File) in java.io.File cannot be applied to (java.lang.String) at line 105, column 14
myfile.renameTo("upload/"+stra[0]+last);

myfile.renameTo(File("upload/"+stra[0]+last));

求助 一个OnSubmit,要怎样合并javascript事件 22号回家。有钱没钱回家过年,一回回到解放前,散分 wince6.0操作系统下这段代码为何不能从电脑路径下 D:/Lena.bmp,加载一幅位图呢????? vs.net水晶报表的打印与ie8不兼容。 请问UML中黑三角箭头加一条虚线代表什么? 怎样才能保证获取唯一的机器码,如何获取? 还有一周放假 Dlookup的问题 马上要结婚了我们却想要分手,求各路大师指点迷津 linux 下 Java乱码问题 北京康拓红外技术有限公司 怎么样 我发的帖子呢?被吃掉了? 见或不见 大家讨论下开源java软件的源代码学习研究利用捷径吧 回首曾经 关于int类型和BYTE类型的转换 请问在Setup Factory 7.0中如何将程序集添加到Global Assembly Cache当中 ispostback有什么用 如何编写驱动? 关于智能设备里 webBrowser控件问题 搜索框里默认的灰色文字是如何实现的,是切换字体的显示颜色吗? [散分] 年前散分 PHP中 应该如何写 无符号右移 Single boy,Single boy,Single all the way…… 心情不错,散分 extjs 显示json小问题 安装配置iis出现的问题,诚请指教 你在c++代码里考虑异常处理了吗? 【抱歉,迟到的运势帖】2011各生肖运势略解 更新完毕... SQL while 语句循环问题