图片上传返回上传链接

@Value(("#{prop.uploadHost}"))private String uploadHost;@RequestMapping(value = "/insertImgUrl")public ResultData insertImgUrl(HttpServletRequest request, HttpServletResponse response){    response.setContentType("application/json");    String rootPath = request.getSession().getServletContext().getRealPath("/");    MultipartHttpServletRequest Murequest =(MultipartHttpServletRequest)request;    Map<String, MultipartFile> files = Murequest.getFileMap();//得到文件map对象    // 实例化一个jersey Client client = new Client();

for(MultipartFile pic: files.values()){        String originalFilename = pic.getOriginalFilename();  //原来的文件名        //String uploadInfo = Upload.upload(client, pic, request, response, uploadHost, ueditor); String[] txt1 = originalFilename.split("\\.");        String txt = txt1[txt1.length - 1];        if (StringUtils.isBlank(originalFilename)) {            continue;        }        File tempFile = new File(ueditor, originalFilename);        Long ss = System.currentTimeMillis();        File newfile = new File(tempFile.getParent() + File.separator + ss + "." + txt);        tempFile.renameTo(newfile);        if (tempFile.exists()) {            //newfile = new File(tempFile.getParent() + File.separator + ss+"."+txt); tempFile.renameTo(newfile);        }        if (!newfile.exists()) {            newfile.getParentFile().mkdirs();            try {                newfile.createNewFile();                pic.transferTo(newfile);                //ImageUtil imageUtil = new ImageUtil(); Integer isUpload=0;                SftpUtil sftpUtil=new SftpUtil();                isUpload=sftpUtil.LunboUpload(ss + "." + txt, ss);                if(isUpload==0)                {                    return ResultData.returnResultData(ResultData.DATA_FALSE,"上传失败");                }            } catch (Exception e) {                e.printStackTrace();            }        }        String uploadInfo=uploadHost+ss+"."+txt;        if(!"".equals(uploadInfo))        {            return ResultData.returnResultData(ResultData.RESULT_SUCCESS,"ok",uploadInfo);        }        else {            return ResultData.returnResultData(ResultData.DATA_FALSE,"false","上传失败");        }    }    return ResultData.returnResultData(ResultData.DATA_FALSE,"false","上传失败");}
public  synchronized Integer  LunboUpload(String fileName,Long s){    ChannelSftp sftp=null;    try {    SftpUtil sf = new SftpUtil();    String host = ip;    int port = 22;    String username = root;    String password = Password;    //String directory = "/data/sftp/mysftp/lunbo/";    //String uploadFile = "/home/ftp/img/"+fileName; String uploadFile = "G:/ceshi/image/"+fileName;    sftp=sf.connect(host, port, username, password);    sf.upload(directory, uploadFile, sftp);    sftp.getSession().disconnect();    sftp.quit();    sftp.disconnect();//关闭    //sf.download(directory, downloadFile, saveFile, sftp);    //sf.delete(directory, deleteFile, sftp); 	return 1;    } catch (Exception e) {        //sftp.getSession().disconnect(); sftp.quit();        sftp.disconnect();//关闭 return 0;    }}
要注意图片服务器使用ftp传输,同时要注意关闭ftp链接,保证最终的图片正常传输,
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">    <property name="defaultEncoding" value="UTF-8"/></bean>

原文地址:https://www.cnblogs.com/xuanyuer/p/9880355.html

时间: 2024-11-05 19:36:52

图片上传返回上传链接的相关文章

网页上的“返回上一页”的几种实现代码

在制作网页的时候,经常在网页上要用到"返回上一页"的功能. 这一功能在制作网页的时候会有多种编码方法,在此, 我将比较常用的几种编码的写作方法在下面列出来,供参考使用. 方法一.以按钮点击的方式实现:<input type="button" name="Submit" value="返回上一页" onclick="javascript:window.history.back(-1);">或者&l

手机上万能返回上一页(wap2.0)代替history.go(-1)

最近在做wap2.0的手机wap,写返回上一页的时候,开始是用history.go(-1); 发现在手机上只有部分机器可以比如windows mobile 而在别的机器如nokia和ophone手机 上这些就不太好用了,经过左思右想终于想到了个山寨方法来解决这个流氓问题了... 不直接用手机的返回功能,而是通过读取 referrer 上得到上一页的链接来实现手机返回上一页功能 代码如下: Javascript CODE [javascript] view plaincopyprint? /*返回

在CentOS 7 上设置返回上一级目录的快捷键为 Backspace

参考这里. 编辑文件: $ vi ~/.config/nautilus/accels 找到这一行:  ; (gtk_accel_path "<Actions>/ShellActions/Back" "<Alt>Left") ,可以看到,CentOS7 默认的向上一级目录跳转的快捷键是 Alt + ←. 在它下方添加一行,设置快捷键为 Backspace:  (gtk_accel_path "<Actions>/Shell

功能:返回上一页 4种实现方式

1.a标签  超链接   机械返回上一页缓存 <a href="javascript:history.back(-1)">返回上一页</a> 2.按钮  机械返回上一页缓存 <input type="button" name="Submit" onclick="javascript:history.back(-1);" value="返回上一页"> 3.图片  超链接 

移动前端—H5实现图片先压缩再上传

在做移动端图片上传的时候,用户传的都是手机本地图片,而本地图片一般都相对比较大,拿iphone6来说,平时拍很多图片都是一两M的,如果直接这样上传,那图片就太大了,如果用户用的是移动流量,完全把图片上传显然不是一个好办法. 目前来说,HTML5的各种新API都在移动端的webkit上得到了较好的实现.根据查看caniuse,本demo里使用到的FileReader.Blob.Formdata对象均已在大部分移动设备浏览器中得到了实现(safari6.0+.android 3.0+),所以直接在前

适应各浏览器图片裁剪无刷新上传js插件(转)

看到一篇兼容性很强的图片无刷新裁剪上传的帖子,感觉很棒.分享下!~ 废话不多说,上效果图. 一.首先建立如下的一个page <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <

【Android实战】----基于Retrofit实现多图片/文件、图文上传

一.再次膜拜下Retrofit Retrofit无论从性能还是使用方便性上都很屌!!!,本文不去介绍其运作原理(虽然很想搞明白),后面会出专题文章解析Retrofit的内部原理:本文只是从使用上解析Retrofit实现多图片/文件.图文上传的功能. 二.概念介绍 1)注解@Multipart 从字面上理解就是与多媒体文件相关的,没错,图片.文件等的上传都要用到该注解,其中每个部分需要使用@Part来注解..看其注释 /** * Denotes that the request body is m

js实现图片预览以及上传

HTML 代码: <input  type="file" id="fileid" onchange="filesize(this)" runat="server" size="80" Width="200px" Height="25px"/>  <input  type="hidden" id="hidden_s&quo

Django(十九)文件上传:图片上传(后台上传、自定义上传)、

一.基本设置 参考:https://docs.djangoproject.com/zh-hans/3.0/topics/http/file-uploads/ 1)配置project1/settings.py 因为图片也属于静态文件,所以保存到static目录下. MEDIA_ROOT=os.path.join(BASE_DIR,"static/media") 2)在static目录下创建media目录,再创建应用名称的目录,此例为app1 F:\Test\django-demo\pro