有关上传图片的后端实现

http://blog.163.com/shuaiandy@126/blog/static/86432749201561191016970

* 处理图片

* @param myfiles

* @return

*/

publicstaticListimageHandle(MultipartFile[]myfiles,HttpServletRequestrequest){

//处理上传图片

ListimgPathList=newArrayList();

for(MultipartFilemyfile:myfiles){

if(myfile.isEmpty()){

System.out.println("文件未上传");

}else{

System.out.println("文件长度: "+myfile.getSize());

System.out.println("文件类型: "+myfile.getContentType());

System.out.println("文件名称: "+myfile.getName());

System.out.println("文件原名: "+myfile.getOriginalFilename());

System.out.println("========================================");

//                //如果用的是Tomcat服务器,则文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\upload\\文件夹中

//                String realPath = request.getSession().getServletContext().getRealPath("/upload");

//使用自定义文件资源库

StringrealPath="D:/doctorImg";

//这里不必处理IO流关闭的问题,因为FileUtils.copyInputStreamToFile()方法内部会自动把用到的IO流关掉,我是看它的源码才知道的

try{

//重置文件名

longtime=System.currentTimeMillis();

StringtimeStr=String.valueOf(time);

String[]originalFileName=myfile.getOriginalFilename().split("\\.");

StringfileName=timeStr+"."+originalFileName[1];

FileUtils.copyInputStreamToFile(myfile.getInputStream(),newFile(realPath,fileName));

//配置图片访问路径

Stringip="http://localhost:8080/path";

imgPathList.add(ip+"/"+fileName);

}catch(IOExceptione){

e.printStackTrace();

returnnull;

}

}

}

returnimgPathList;

}

SpringMVC配置:


10485760

so,这样就能把图片上传到D:\doctorImg这个目录下了,but,这个目录下的图片是不能在浏览器上查看的。so,这里还需要做tomcat虚拟映射。

tomcat配置:

setp1:在C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\Catalina\localhost这个localhost目录下创建任意名的xml文件。这里比如创建了一个path.xml。然后这个文件内容如下:


docBase="D:\doctorImg"

privileged="true"

reloadable="false"

debug="0"

workDir=""/>

ps:docBase为spring上传图片的文件目录。

setp2: restart tomcat

到这里就行了。

说明:比如后端上传一张图片pic1.jpg到D:\doctorImg目录下,然后访问地址为:http://localhost:8080/path/pic1.jpg

必须到tomcat目录下,手动启动!!!才能访问到,idea启动的tomcat 的配置和tomcat中的不一样!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 本文包括:1、文件上传概述2、利用 Commons-fileupload 组件实现文件上传3、核心API——Dis...
    廖少少阅读 12,634评论 5 91
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,380评论 11 349
  • 看了医院的视频监控和各种评论,虽然我还不能理解产妇是有多么疼痛和绝望,但是生命仅有一次,自杀了就没了。 刚开始我是...
    高度临在阅读 349评论 2 0
  • 一个有学问的教授说老摩家有两个儿子,大的叫纳哥,从小失踪;小的叫洛哥,流落到香港,改名雷洛,长大后成了黑白通吃的警...
    侹哥看天下阅读 595评论 1 4