com.jspsmart.upload.SmartUpload
上传行吗?

解决方案 »

  1.   

    我有成功的例子
    只是没有权限问题,我只是传了文件到LINUX服务器上
    查看权限,除了ROOT有RW,其他都只读
    不明白你所谓的设计到权限转换问题是指什么?
      

  2.   

    原来都是菜鸟
    郁闷。。可以不能去javaranch。。去那里就有答案的了。。
      

  3.   

    下面是一个非常好用的文件上传JAVABEAN 分为几部分发送/*
    作者:王思龙
    单位:东风汽车公司
    版本:v1.00
    */
    package com.upload;public class InputField{
    private String inputName; //输入区名
    private String inputContent; //输入内容public void setInputName(String inputName){
    this.inputName = inputName;
    }
    public void setInputContent(String inputContent){
    this.inputContent = inputContent;
    }public String getInputName(){
    return inputName;
    }
    public String getInputContent(){
    return inputContent;
    }
    }
      

  4.   

    /*
    作者:王思龙
    单位:东风汽车公司
    版本:v1.00
    */
    package com.upload;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    import com.upload.UploadBean;
    import com.upload.FileInfo;
    import com.upload.InputField;public class ResultServlet extends HttpServlet {
    static final private String CONTENT_TYPE = "text/html; charset=GBK";
    UploadBean upload = new UploadBean();//Process the HTTP Get request
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    result(request,out);
    }private void result(HttpServletRequest request,PrintWriter out)
    throws ServletException, IOException{
    //以下演示说明调用方法
    //请注意本页注释
    //实例化 servlet 调用与以下方法相同
    FileInfo fileInfo = new FileInfo();//设置单个文件长度上限值,参数为:long
    upload.setSingleFileMaxSize(1024*1024*10);
    //设置文件总长度上限值 参数为:long
    upload.setTotalFilesMaxSize(1024*1024*100);
    //设置上传文件数量上限值 参数为:int
    upload.setTotalFilesMaxCount(10);//设置服务器端存放路径 参数为:string 请注意路径格式
    //若不设置,将默认放在主页根目录下,以下是防于根目录下
    String savePath = "c:/jsp1";
    upload.setSavePath(savePath);//上载操作 参数为:request servlet中调用与此相同
    upload.uploadFile(request);
    out.print("<br><br><font face='黑体' size='5'><center>已成功上载" + upload.getUpFilesCount() + "个文件</center>");
    out.print("<center>以下为所有上载请求的文件列表</font></center>");
    out.print("<br><br>");
    out.print("<div align='center'><table border=1 cellpadding=0 cellspacing=0 style='border-collapse: collapse' bordercolor='#111111' width='80%' >");
    out.print("<tr><td>上载序号</td><td>上载请求名</td><td>文件名称</td><td>访问路径</td><td>文件大小(Byte)</td><td>是否成功</td></tr>");
    int i;
    //得到上载的文件数
    int j = upload.getPageFileCount();
    for(i=0;i<j;i++){
    out.print("<tr>");
    //得到文件信息前首先得到文件信息对象
    //取得访问的文件对象upload.getUpFilesInfo(i) i为上载文件的序号
    //对应类为 com.top.web.upload.FileInfo
    fileInfo = upload.getUpFilesInfo(i);
    //上载序号
    out.print("<td>" + (new Integer(i).toString()+"") + "</td>");
    //取得上载请求名
    out.print("<td>" + fileInfo.getReqName() + "</td>");
    //取得文件名称
    out.print("<td>" + fileInfo.getFileName() + "</td>");
    //取得文件访问路径
    out.print("<td>" + fileInfo.getFilePath() + "</td>");
    //取得文件大小
    out.print("<td>" + fileInfo.getFileSize() + "</td>");
    if(fileInfo.isSuccess())
    out.print("<td>" + "是" + "</td>");
    else
    out.print("<td>" + "否" + "</td>");
    out.print("</tr>");
    }
    out.print("</table></div><br>");//判断是否存在文件总长度溢出情况
    if(upload.isTotalSizeOverFlow())
    out.println("请检查您的上载文件,您准备上载的文件总长超过设置的上限!"+"<br>");
    //判断是否存在文件数量溢出情况
    if(upload.isTotalCountOverFlow())
    out.println("请检查您的上载文件,您准备上载的文件数量超过设置的上限!"+"<br>");
    //判断是否存在单个文件超长情况
    if(upload.isSizeOverFlow())
    out.println("请检查您的上载文件,您准备上载的某个文件超过单个文件长度的上限!"+"<br>");
    //以下演示输入区的取值
    //一、按输入区name取,推荐使用 请输入您需要取的内容
    out.println("以下演示按输入区name取,推荐使用!"+"<br>");
    out.println("您所输入的摘要内容为:");
    out.println(upload.getParameter("explain1"));
    out.println("<br><br>");
    //以下演示按输入项的顺序号取,不推荐使用
    out.println("以下演示按输入项的顺序号取,不推荐使用!"+"<br>");
    out.println("您在以下输入区域输入的内容为:"+"<br>");
    for(i=0;i<upload.getInputFieldCount();i++){
    //取得输入区域的的指针对象
    InputField inputField = new InputField();
    inputField = upload.getInputField(i);
    //取得输入区的name
    out.println(inputField.getInputName()+":");
    //取得输入区的内容
    out.println(inputField.getInputContent()+"<br>");}
    }
    //Clean up resources
    public void destroy() {
    }
    }
      

  5.   


    package com.upload;import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.ServletInputStream;public class UpBean {public void doUpload(HttpServletRequest req)
                  throws ServletException, IOException{
    //首先定义一个文本文件
    File file = new File("out.txt");
    //readCount 记录从输入流中实际读取的字符数
    int readCount;
    //输入流缓冲区
    byte[] readByte = new byte[1024];
    //初始化输入流
    ServletInputStream servletInputStream = req.getInputStream();
    //初始化一个输出流(到文件)
    FileOutputStream fileOutputStream = new FileOutputStream(file);
    //循环从读取输入流中读取字节
    readCount = servletInputStream.readLine(readByte, 0,readByte.length);
    while(readCount != -1){
    fileOutputStream.write(readByte,0,readCount);
    readCount = servletInputStream.readLine(readByte, 0, 1024);
    }
    //关闭文件流
    fileOutputStream.flush();
    }
    }