收录日期:2019/03/20 19:58:09 时间: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));

谁知道有没有一本叫《J2EE开发模式》的书 asp 页面在utf8下中文显示乱码 dos调用中为什么不能返回dir的结果 SQL文中的字符串里面含有“\\n”这样的换行符号, 是不是会有问题? 88888, 散分! 可以帮我健全一下huffman压缩及解码的程序吗 当选择下拉列表DataGridViewComboBoxCell怎么得到选择的值 csdn出问题了吧怎么验证码都是88888? 关于在服务程序中新建进程的一串问题,望高手告诉我 我这几天用vc做了一个<<学生信息系统>>但是移植性很差(也是用ODBC),在我的机子上可以运行,但是拷贝到其他机子上就不行了,它 去掉重复字符的问题 散粉了,今天把离职单提了。。毕业一年多了 谁有这篇文章:<>? 关于vbscript中的设置stop断点因该怎么办。 看看这句是什么意思? 求一个VC++毕业设计的题目!!! 再求一句SQL 帮忙查看语法错误,从sql server转oracle,很多概念不一致 下午到中软面试,见到这样一幕... 一个关于视图触发器的问题,触发器定义的操作没有执行,为什么? 验证码88888,散分庆祝... 如何用DropDownList控制TextBox的显示与隐藏??? 请问:holon开发语言应该如何入手? 请问outlook接收邮件的时间问题? 格式化数字为货币形式 ajax异步调用出现不能使用的函数~~~100分,帮忙阿 请教一下怎么才能在Unicode字符中判断里面的字是汉字 100分求,怎么用c#开发桌面录制东西,有点提示吗? 请推荐几个最实用的异常、日志和事务框架 出现问题:未能从 OLE DB 提供程序 \'SQLOLEDB\' 中得到行的数据。OLE/DB provider returned message: 行句柄引用了一个已被删除的行或被标