欢迎光临
我们一直在努力

小弟写了一个不用useBean的上传文件的东东,大家看看啦~ 多提提意见-JSP教程,资料/其它

建站超值云服务器,限时71元/月

只需要include 然后是用就行了,其他还有取文件名,取文件大小,取文件类型,上传改名,取mulitform中其他字段的值的功能 🙂

这是小弟用java做的第一个可以用的东西 :p 大家帮忙看看~~

<%!// 取得multi form中字段的值 in(fieldname, servletinputstream) out(string fieldvalue)
public string getmultifields(string fieldname,servletinputstream sis) throws java.io.ioexception{
    byte[] b = new byte[4096];
    string s = "";
    string fieldvalue="";
    int a=0;
    while((a = sis.readline(b,0,b.length)) != -1){
        s = new string(b,0,a);
        if(s.indexof("content-disposition: form-data; name=\""+fieldname+"\"")!=-1){
            a = sis.readline(b,0,b.length);
            s = new string(b,0,a);
            whiles:
                while(1==1){
                    a = sis.readline(b,0,b.length);
                    s = new string(b,0,a);
                    if(s.indexof("—————————–")!=-1){
                        break whiles;
                    }else{
                        fieldvalue=fieldvalue+s;
                    }
                }
        }
    }
    sis.close();
    return fieldvalue;
}
%>
<%!// 取得上传文件的文件名 in(fieldname, servletinputstream) out(string filename)
public string getfilename(string fieldname,servletinputstream sis) throws java.io.ioexception{
    string filenames="";
    string s="";
    byte[] b = new byte[4096];
    int tempa;
    int tempb;
    int a=0;
    while((a = sis.readline(b,0,b.length)) != -1){
        s=new string(b,0,a);
        if(s.indexof("content-disposition: form-data; name=\""+fieldname+"\"")!=-1){
            if(s.indexof("filename=") != -1){
                tempa=s.indexof("filename=\"");
                tempa+=10;
                tempb=s.indexof("\"",tempa);
                filenames=s.substring(tempa,tempb);
                tempa=filenames.lastindexof("\\");
                filenames=filenames.substring(tempa+1,filenames.length()).trim();
            }
        }
    }
    sis.close();
    return filenames;
}
%>
<%!// 取得上传文件的文件类型 in(fieldname, servletinputstream) out(string filetype)
public string getfiletype(string fieldname,servletinputstream sis) throws java.io.ioexception{
    string filetype="";
    string s="";
    byte[] b = new byte[4096];
    int tempa;
    int tempb;
    int a=0;
    while((a = sis.readline(b,0,b.length)) != -1){
        s=new string(b,0,a);
        if(s.indexof("content-disposition: form-data; name=\""+fieldname+"\"")!=-1){
            if(s.indexof("filename=") != -1){
                a = sis.readline(b,0,b.length);
                s=new string(b,0,a);
                tempa=s.indexof("content-type: ");
                tempa+=14;
                filetype=s.substring(tempa,s.length()).trim();
            }
        }
    }
    sis.close();
    return filetype;
}
%>
<%!// 取得文件大小 in(fieldname, servletinputstream) out(int filesize)
public int getfilesize(string fieldname,servletinputstream sis) throws java.io.ioexception{
    int filesize=0;
    string s="";
    byte[] b = new byte[4096];
    int tempa;
    int tempb;
    int a=0;
    while((a = sis.readline(b,0,b.length)) != -1){
        s=new string(b,0,a);
        if(s.indexof("content-disposition: form-data; name=\""+fieldname+"\"")!=-1){
            if(s.indexof("filename=") != -1){
                a = sis.readline(b,0,b.length);
                a = sis.readline(b,0,b.length);
                countsize:
                    while(1==1){
                        a = sis.readline(b,0,b.length);
                        s = new string(b,0,a);
                        if(s.indexof("—————————–")!=-1){
                            break countsize;
                        }else{
                            filesize=filesize+a;
                        }
                    }
            }
        }
    }
    sis.close();
    return filesize;
}
%>
<%!// 上传文件 in(保存的绝对路径, 改名文件前缀名 *为空不改名, fieldname, servletinputstream) out(string 上传后的filename)
public string savefile(string savepath,string filename,string fieldname,servletinputstream sis) throws java.io.ioexception{
    string filenames="";
    string s="";
    byte[] b = new byte[4096];
    int tempa;
    int tempb;
    int a=0;
    while((a = sis.readline(b,0,b.length)) != -1){
        s=new string(b,0,a);
        if(s.indexof("content-disposition: form-data; name=\""+fieldname+"\"")!=-1){
            if(s.indexof("filename=") != -1){
                tempa=s.indexof("filename=\"");
                tempa+=10;
                tempb=s.indexof("\"",tempa);
                filenames=s.substring(tempa,tempb);
                tempa=filenames.lastindexof(".");
                if(filename==""||filename==null){
                    tempb=filenames.lastindexof("\\");
                    filenames=filenames.substring(tempb+1,tempa).trim()+filenames.substring(tempa,filenames.length()).trim();
                }else{
                    filenames=filename+filenames.substring(tempa,filenames.length()).trim();
                }
                a = sis.readline(b,0,b.length);
                a = sis.readline(b,0,b.length);
                fileoutputstream fos = new fileoutputstream(savepath+filenames);
                savedata:
                    while(1==1){
                        a = sis.readline(b,0,b.length);
                        s = new string(b,0,a);
                        if(s.indexof("—————————–")!=-1){
                            break savedata;
                        }else{
                            fos.write(b,0,a);
                        }
                    }
                fos.close();
            }
        }
    }
    sis.close();
    return filenames;
}
%>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 小弟写了一个不用useBean的上传文件的东东,大家看看啦~ 多提提意见-JSP教程,资料/其它
分享到: 更多 (0)

相关推荐

  • 暂无文章