java上传图片文件回显(java导入图片并显示图片)

  • 1、在java代码中怎么从服务器上把图片拿来放到数据库里
  • 2、java实现图片上传至服务器并显示,如何做?希望要具体的代码实现
  • 3、java 上传图片到CDN 亚马逊服务器上,要回显服务器的图片,问题在这:

大概流程:

1.上传插件的选择:此篇博文选择的是jQuery的zyupload文件上传插件;

2.上传请求发起后,java代码的处理:你是要将上传的图片只保存在服务器还是只保存在数据库还是说两者都采取。上传到服务器很简单,保存到数据库也很简单,但是此处需要考虑业务,图片保存在数据库时采用哪种保存方式(本博文业务来自于项目,因为图片数量巨多,故在数据库是通过保存图片的路径实现的,并非二进制流);

3.图片保存在数据库后,在前段页面的回显功能。

很简单。

可以手写IO读写(有点麻烦)。

怕麻烦的话使用FileUpload组件 在servlet里doPost嵌入一下代码

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{

response.setContentType(“text/html;charset=gb2312”);

PrintWriter out=response.getWriter();

//设置保存上传文件的目录

String uploadDir =getServletContext().getRealPath(“/up”);

System.out.println(uploadDir);

if (uploadDir == null)

{

out.println(“无法访问存储目录!”);

return;

}

//根据路径创建一个文件

File fUploadDir = new File(uploadDir);

if(!fUploadDir.exists()){

if(!fUploadDir.mkdir())//如果UP目录不存在 创建一个 不能创建输出…

{

out.println(“无法创建存储目录!”);

return;

}

}

if (!DiskFileUpload.isMultipartContent(request))

{

out.println(“只能处理multipart/form-data类型的数据!”);

return ;

}

DiskFileUpload fu = new DiskFileUpload();

//最多上传200M数据

fu.setSizeMax(1024 * 1024 * 200);

//超过1M的字段数据采用临时文件缓存

fu.setSizeThreshold(1024 * 1024);

//采用默认的临时文件存储位置

//fu.setRepositoryPath(…);

//设置上传的普通字段的名称和文件字段的文件名所采用的字符集编码

fu.setHeaderEncoding(“gb2312”);

//得到所有表单字段对象的集合

List fileItems = null;

try

{

fileItems = fu.parseRequest(request);//解析request对象中上传的文件

}

catch (FileUploadException e)

{

out.println(“解析数据时出现如下问题:”);

e.printStackTrace(out);

return;

}

//处理每个表单字段

Iterator i = fileItems.iterator();

while (i.hasNext())

{

FileItem fi = (FileItem) i.next();

if (fi.isFormField()){

String content = fi.getString(“GB2312”);

String fieldName = fi.getFieldName();

request.setAttribute(fieldName,content);

}else{

try

{

String pathSrc = fi.getName();

if(pathSrc.trim().equals(“”)){

continue;

}

int start = pathSrc.lastIndexOf(‘\\’);

String fileName = pathSrc.substring(start + 1);

File pathDest = new File(uploadDir, fileName);

fi.write(pathDest);

String fieldName = fi.getFieldName();

request.setAttribute(fieldName, fileName);

}catch (Exception e){

out.println(“存储文件时出现如下问题:”);

e.printStackTrace(out);

return;

}

finally //总是立即删除保存表单字段内容的临时文件

{

fi.delete();

}

}

}

注意 JSP页面的form要加enctype=”multipart/form-data” 属性, 提交的时候要向服务器说明一下 此页面包含文件。

如果 还是麻烦,干脆使用Struts 的上传组件 他对FileUpload又做了封装,使用起来更傻瓜化,很容易掌握。

—————————–

以上回答,如有不明白可以联系我。

SVN在服务器端的存储方式和客户端是不一样的,所以在服务器端是看不到源文件的。服务器端有两种存储方式FSFS和BDB,目前默认都是FSFS。

要导入文件有两种做法:

1、用import指令,将客户端文件夹导入到服务器端

2、先checkout空库到客户端,然后将要导入的文件夹放入客户端checkout产生的空文件夹,然后执行add将这些文件夹纳入SVN控制,最后执行commit上传到服务器

建议用后一种方法,因为前一种方法如果操作失误容易导致文件夹层次混乱

原创文章,作者:V1P9O,如若转载,请注明出处:https://www.506064.com/n/127231.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
V1P9O的头像V1P9O
上一篇 2024-10-03 23:13
下一篇 2024-10-03 23:13

相关推荐

  • 爬虫java,爬虫JavascriptvoidO

    本文目录一览: 1、北大青鸟java培训:Java多线程爬虫实现? 2、java适合写爬虫吗? 3、如何用Java写一个爬虫 4、java爬虫 长时间无返回 5、Java网络爬虫怎…

    编程 2024-10-24
  • 从多个方面详细阐述数组越界异常

    一、什么是数组越界异常 数组越界异常是程序在访问数组元素时,数组下标超出了数组范围所引起的异常。数组下标从0开始,超过数组长度也就是下标为数组长度时,就会发生越界异常。 二、造成数…

    编程 2024-10-04
  • 深入探究IDEA内存分析工具

    一、简介 随着软件项目日益复杂,代码量日益增加,内存问题也变得越来越普遍。为了能够更好的解决内存问题,开发人员需要使用一些内存分析工具。其中,IDEA内存分析工具是一种非常实用的工…

    编程 2024-10-04
  • 为什么jar包没有主清单属性?

    一、什么是jar包没有主清单属性? Jar包是一种Java语言使用的存档文件格式,通常包含Java类文件、图像、声音和其他资源。而Jar包没有主清单属性是指Jar包中的META-I…

    编程 2024-11-30
  • MongoDB和Redis使用详解

    一、MongoDB MongoDB是一种面向文档的数据库,它以JSON风格的文档存储数据。以下是MongoDB的几个优点: 1、存储数据的灵活性和可扩展性:无需总是使用预定的表结构…

    编程 2024-11-21
  • c语言scanf如何输入小数,scanf输出小数

    本文目录一览: 1、C语言怎样输入一个三位小数 2、c语言:如何输出或输入小数点数字 3、c语言如何输出:用户输入的小数位数? 4、C语言中scanf函数的输入格式 5、C语言如何…

    编程 2024-12-04
  • Python文件大小的阐述

    一、Python文件大小信息 Python文件的大小由文件的实现方式、代码的复杂程度、引入的库和模块以及使用的注释等因素决定。通常情况下,一个简单的Python文件大小应该在几KB…

    编程 2024-11-17
  • 详细解析:如何删除node_modules

    一、删除node_modules文件夹 删除node_modules文件夹是非常常见的操作,尤其是在你的工程中有许多的依赖包时。当你需要重新安装或更新依赖包时,你就需要删除node…

    编程 2024-12-11
  • Java枚举类型的应用

    Java中的枚举类型是一种特殊的数据类型,可以让我们方便地定义一组常量,并在代码中使用。枚举类型在很多场景中都能够发挥巨大的优势,比如状态码、配置项、颜色等等。在这篇文章中,我们将…

    编程 2024-11-07
  • mysql数据库代码实例(mysql数据库代码大全)

    本文目录一览: 1、PHP怎么连接MySQL 2、求c语言操作mysql数据库实例 3、PHP同时连接多个mysql数据库示例代码 PHP怎么连接MySQL PHP连接mysql数…

    编程 2024-10-03

发表回复

登录后才能评论