smartupload工具上传文件
目录
1.将jar包添加到项目中
2.准备上传的页面
3.后台代码:
Servlet中获取JSP页面中的内置对象PageContext
smartupload常用方法
文件下载
1.将jar包添加到项目中
2.准备上传的页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>$Title$</title></head><body><h1>上传图片和文本</h1><form action="uploadtest" method="post" enctype="multipart/form-data">姓名:<input type="text" name="uname"><br>图片:<input type="file" name="pic"><br><input type="submit" value="上传到服务器"></form></body>
</html>
注:(1)form标签中要添加enctype属性
(2)提交方式必须是post
3.后台代码:
package servlet;import com.jspsmart.upload.File;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;
import java.io.IOException;@WebServlet(urlPatterns = "/uploadtest")
public class UploadServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {try {//1.创建上传文件的对象SmartUpload smartUpload = new SmartUpload();//2.初始化上传操作//在servlet中获取jsp的内置对象pageContext//通过工具类JspFactory.getDefaultFactory()的getPageContext()//getPageContext()中有7个参数//参1:当前servlet对象;参2:req;参3:resp;参4:字符串,传入jsp的错误页面;参5:是否使用session;参6:缓冲区大小;参7:缓冲区满了溢出部分是否加入到输出流中PageContext pageContext = JspFactory.getDefaultFactory().getPageContext(this, req, resp, null, false, 1024, true);smartUpload.initialize(pageContext);//2.1 设置编码smartUpload.setCharset("utf-8");//3.文件上传到服务器smartUpload.upload();//4.获取文件信息File file = smartUpload.getFiles().getFile(0);//获取指定下标的上传文件String fileName = file.getFileName();//获取上传的文件名String contentType = file.getContentType();//获取上传文件的类型//获取文本信息String uname = smartUpload.getRequest().getParameter("uname");System.out.println("uname="+uname);//5.指定上传的路径(设置上传的文件在服务器中保存的位置)//首先在web下创建uploadfiles文件夹,并且创建文件a.txt,因为空文件夹无法部署到服务器String uploadpath="/uploadfiles/"+fileName;//6.保存到指定位置,File.SAVEAS_VIRTUAL表示保存到虚拟路径中file.saveAs(uploadpath,File.SAVEAS_VIRTUAL);//7.跳转成功页面,在页面中显示图片req.setAttribute("filename",fileName);req.getRequestDispatcher("success.jsp").forward(req,resp);} catch (SmartUploadException e) {e.printStackTrace();}}
}
smartUpload.getRequest().getParameter("uname")
Servlet中获取JSP页面中的内置对象PageContext
JspFactory.getDefaultFactory().getPageContext(.........)
smartupload常用方法
文件下载
package servlet;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;@WebServlet(urlPatterns = "/downimg")
public class DownServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String filename = req.getParameter("filename");//获取要下载的文件名String path="/uploadfiles/"+filename;//文件路径//设置响应的数据类型--将响应的内容设置为通用的二进制流resp.setContentType("application/octet-stream");//响应的头信息,设置文件名编码格式,避免页面中下载的文件名乱码//attachment 告诉浏览器以附件的方式下载文件(弹出下载框)resp.addHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(filename,"UTF-8"));//跳转页面req.getRequestDispatcher(path).forward(req,resp);//清空缓冲区:将服务端缓冲区的文件内容,立即全部传送给客户端resp.flushBuffer();}
}
本地图片上传到服务器后,并在页面显示图片
smartupload工具上传文件相关推荐
- 在jsp中使用smartupload组件上传文件- -
在jsp中使用smartupload组件上传文件- - jsp对上传文件的支持不象php中支持的那么好,直接做成了函数,也不象asp中要通过组件才能实现.jsp中可以通过javabean来实现.但是我 ...
- 使用SmartUpload组件上传文件,自己踩过的坑
昨天使用SmartUpload组件上传文件,代码很简单: smartupload_demo01.html <html> <head><title>smartuplo ...
- putty怎么进入文件夹_如何利用putty工具上传文件 - 卡饭网
图解使用FTP工具上传文件以FlashFXP为例 图解使用FTP工具上传文件以FlashFXP为例 现以FlashFXP为例,图解使用FTP工具上传文件. 1: 运行 LeapFTP,点击1处(站点- ...
- 使用SmartUpload组件上传文件
刚刚上手的项目 被文件上传困扰了好久,之前用fileupload组件上传,代码参考孤傲苍狼博客,可是除了文件名,表单内的其他内容不知道该怎么读出来进行存储:所以此次采用smartupload组件进行上 ...
- 利用第三方工具上传文件
准备jar包:commons-fileupload-1.2.2.jar commons-io-2.0.1.jar 在jsp页面form表单属性必须是:enctype="multipart/f ...
- 利用hfs工具上传文件的操作教程
一.首先我用的hfs版本如下: 二.我们可以从hfs的帮助文档中找到关于上传文件的操作: 官方文件并不是step by step的上图红框的操作是要右键文件夹的,找到属性才可以的,如上图右. 三.用浏 ...
- 使用SSH工具上传文件
1 下载一个SSH软件 xshell,finalshell都可以 本文以xshell为例 点击下载 安装好了界面是这样的 2 去阿里云控制台找到公网IP 点击这里 点击这里 复制公网IP 点击这里添加 ...
- android requestparams传入对象,Android xutils3上传文件使用示例
Android xutils3工具上传文件非常方便,只需要传入File文件数据或一些其它参数给RequestParams对象即可完成,现在我们来开始使用xutils工具上传文件吧! 步骤一:需要在项目 ...
- 上传excel腾讯云服务器,使用SpringBoot上传文件到腾讯云
最近在做一个项目,涉及到腾讯云上传文件/图片到服务器,为了图方便并且提升访问速度,想着上传到腾讯云存储桶是一个不错的选择.腾讯云存储桶的创建可见我之前的文章. 当然存储桶里面不仅可以存图片,也可以存储 ...
最新文章
- OpenNI框架介绍
- 【Android 内存优化】Android Profiler 工具常用功能 ( 监测内存 | 内存快照 )
- Vmware VPD要点
- 在pycharm中升级pip失败和pip安装pytorch torchvision opencv
- 前端学习(805):简单数据类型和复杂数据类型
- python爬虫---(2)爬虫基本流程
- 【Elasticsearch】腾讯Elasticsearch海量规模背后的内核优化剖析
- Linux下架设rsync服务器
- 序列化:protobuf原理
- 你要“老婆”不?谷歌程序员20行代码送你一个!
- mockito简单教程
- html使用iframe包含pdf文件,HTMLiframe用法总结收藏.pdf
- 生鲜电商纷纷传上市,但赛道并不性感
- 连接mysql超时_数据库连接超时的原因及其解决方法
- 找到数组里面缺失的数(C++(绝妙方法))
- Ubuntu发烧友三部曲 进阶篇
- Jmeter性能测试脚本实战
- Android 使用Service 实现的简易音乐播放器(有播放、暂停(继续)、重播、停止)
- Bean是如何创建的?
- python pip install一些第三方库的时候error