当前位置:首页 » 文件管理 » jspservlet上传图片

jspservlet上传图片

发布时间: 2024-09-15 18:43:15

‘壹’ jsp+servlet 上传图片并显示出来

其实你这个挡也显示图片其实很简单的,
你的需求无非是两个
1.servlet上传文件(图片)
2.点击 浏览 图标,然后选择图片文件,然后就可以在页面中的某个地方看到图片

是这两个需求么?
首先说第二个吧。
你上传图片之后,就马上触发js函数,内容为
var PicPath = document.getElementById("yourfile").value;
document.getElementById("yourDiv").innerHTML="<IMG src="+PicPath+"/>";
OK了

第一个嘛就无所谓说了,不过我还是贴一个代码吧,
public void upLoadFile(HttpServletRequest request, HttpServletResponse response) {
PrintWriter out = null;
response.setCharacterEncoding("UTF-8");
//实例化文件工厂
FileItemFactory factory = new DiskFileItemFactory();
//配置上传组件ServletFileUpload
ServletFileUpload upload = new ServletFileUpload(factory);
try {
out = response.getWriter();
//从request得到所有上传域的列表
List<FileItem> list = upload.parseRequest(request);

for (FileItem item : list) {
//isFormField判断一个item类对象封装的是一个普通的表单字段还是文件表单字段。
// 如果item是文件域,则做出如下处理:
if (!item.isFormField()) {

//上传文件域的Name
String fileName = item.getName();

//截取扩展名
int idx = fileName.lastIndexOf(".");
String extension = fileName.substring(idx);

//获取文件名
String name = new Date().getTime() + extension;

//得到文件夹的物理路径
String path = this.getServletContext().getRealPath("\\upload");

//创建一个File
File file = new File(path + "\\" + name);
FileOutputStream o = new FileOutputStream(file);
InputStream in = item.getInputStream();
try {
LoadProcessServlet.process = 0;
LoadProcessServlet.total = 100;
LoadProcessServlet.isEnd = false;
LoadProcessServlet.total = item.getSize();
byte b[] = new byte[1024];
int n;
while ((n = in.read(b)) != -1) {
LoadProcessServlet.process+=n;
o.write(b, 0, n);
System.out.println("实际:"+LoadProcessServlet.process);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
LoadProcessServlet.isEnd = true;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}

}

‘贰’ JSP获取上传图片的名字

是关于java web的问题吧?
1jsp有表单吧,<input name="file1" type="file" />
2servlet
2.1获取upload对象 ServletFileUpload upload = new ServletFileUpload(fac);
2.2List<FileItem> fileItemList = upload.parseRequest(request);
2.3迭代list fileItem.getFieldName();这里就可获取文件名字 ie浏览器可能会带文件路径+名字 可能需要截取字段等操作

‘叁’ 用jsp、java实现上传图片,保存到数据库,从数据库中提取,显示到页面 这四步 我想问第一步,怎么上传图片

用jspSmartUpload组件来实现,用jsp+servlet在Servlet里实现的代码:

PrintWriter out = response.getWriter();
int count = 0;
// 实例化上传控件对象
SmartUpload su = new SmartUpload();
// 初始化操作
su.initialize(config, request, response);

// 设置上传文件最大字节数
su.setTotalMaxFileSize(100000);

//
try {
//禁止上传指定扩展名的文件
su.setDeniedFilesList("ext,bat,jsp");
} catch (SQLException e1) {
e1.printStackTrace();
}

try {
// 上传文件到服务器
su.upload();

File fileup = new File(request.getRealPath("upload"));
if(!fileup.exists()){
// 创建目录
fileup.mkdir();
}
// 处理多个文件的上传
for(int i = 0;i < su.getFiles().getCount();i++){
com.jspsmart.upload.File file = su.getFiles().getFile(i);
if(!file.isMissing()){ // 如果文件有效
// 保存文件到指定上传目录
file.saveAs("/upload/new."+file.getFileExt(), su.SAVE_VIRTUAL);
count = su.save("/upload");
}
}

} catch (SmartUploadException e) {

e.printStackTrace();
}
out.println(count +"file(s) uploaded");

如果你对这个上传组件不了解,最好是先去查查用法。。。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela

热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:631
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:360
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:76
php微信接口教程 发布:2025-04-16 17:07:30 浏览:301
android实现阴影 发布:2025-04-16 16:50:08 浏览:789
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:339
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:204
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:804
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:358
土压缩的本质 发布:2025-04-16 16:13:21 浏览:584