关于使用SmartUpload上传图片

遇到的问题:
1、获得的名字是input框的名字,不能获得图片的名字,原因:getFileName()写成getFiledName()了
2、产生1205错误,原因:input(file)中没有写name属性

主要代码:
servlet:

response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");

        //获得路径使用
        ServletConfig config=this.getServletConfig();
        //创建对象
        SmartUpload mySmartUpload=new SmartUpload();
        //初始化
        mySmartUpload.initialize(config, request, response);

        try {
            //初始化上传图片
            mySmartUpload.upload();
            //这里是获取jsp页面中的input(file)的属性,切记input(file)中要写name属性,否则会报1205错误
            com.jspsmart.upload.File f1=mySmartUpload.getFiles().getFile(0);
            //切记这下面获得图片名字的方法是getFileName(),如果写成getFiledName(),将获得的是jsp页面中input输入框的名字
            String imgName=f1.getFileName();
            //System.out.println("这是获得图片名字:"+imgName);
            //读取图片名字中。的位置,是为了得到图片的格式
            int d=imgName.lastIndexOf(".");
            //截取字符串,获得图片的格式(加。)
            String imgType=imgName.substring(d, imgName.length());
            //System.out.println("这是获得图片类型:"+imgType);
            //根据时间产生一个字符串,作为图片的名字
            String NewImgName=String.valueOf(System.currentTimeMillis());
            //得到图片将要存储的位置
            String Path=config.getServletContext().getRealPath("images");
            //如果上面的文件夹不存在,则创建文件夹
            File file=new File(Path);
            //判断问价夹是否存在
            if(!file.exists()){
                file.mkdirs();
            }
            //设置图片存储的真正路径,保存在tomcat下webapps中相应工程下的images文件夹中
            String imgPath=Path+File.separator+NewImgName+imgType;
            //System.out.println("这是获得图片新路径:"+imgPath);
            //以新的路径和名字保存图片
            f1.saveAs(imgPath);
        } catch (SmartUploadException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

jsp

<body>
    <form action="PicUploadServlet" method="post" enctype="multipart/form-data">
    <!-- 切记这里file中必须写name属性,否则报1205错误 -->
    <input type="file" name="test"/>
    <input type="submit" value="提交" />
    </form>
  </body>
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值