java文件保存至服务器
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class ImageRequest{
/**
	 * 读取网络图片并保存至服务器硬盘中
	 * @param imgUrl
	 * @return 图片保存的服务器路径
	 */
	public static String getImages(String imgUrl){
		String imgPath = "";
		try{
	        //new一个URL对象
	        URL url = new URL(imgUrl);
	        //打开链接
	        HttpURLConnection conn = (HttpURLConnection)url.openConnection();
	        //设置请求方式为"GET"
	        conn.setRequestMethod("GET");
	        //超时响应时间为5秒
	        conn.setConnectTimeout(5 * 1000);
	        //通过输入流获取图片数据
	        InputStream inStream = conn.getInputStream();
	        //得到图片的二进制数据,以二进制封装得到数据,具有通用性
	        byte[]	data = readInputStream(inStream);
	        imgPath = ImageRequest.class.getClassLoader().getResource("").getPath();
	        imgPath = imgPath.split("WEB-INF")[0];
	        imgPath = imgPath+"images/"+"haha.jpg";
	        //new一个文件对象用来保存图片,默认保存当前工程根目录
	        File imageFile = new File(imgPath);
	        //创建输出流
	        FileOutputStream outStream = new FileOutputStream(imageFile);
	        //写入数据
	        outStream.write(data);
	        //关闭输出流
	        outStream.close();
	        //服务器文件路径
	        imgPath = imgPath.split("WebRoot")[1];
	        System.out.println(imgPath);
		}catch(Exception e){e.printStackTrace();}
		return imgPath;
	}
    
	/**
	 * 读取文件流
	 * @param inStream
	 * @return
	 * @throws Exception
	 */
    public static byte[] readInputStream(InputStream inStream) throws Exception{
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
        //创建一个Buffer字符串
        byte[] buffer = new byte[1024];
        //每次读取的字符串长度,如果为-1,代表全部读取完毕
        int len = 0;
        //使用一个输入流从buffer里把数据读取出来
        while( (len=inStream.read(buffer)) != -1 ){
            //用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
            outStream.write(buffer, 0, len);
        }
        //关闭输入流
        inStream.close();
        //把outStream里的数据写入内存
        return outStream.toByteArray();
    }
    
    public static void main(String[] args) throws Exception {
    	ImageRequest.getImages("http://image.meilele.com/images/201311/1385338928366387259.jpg");
    }
}
java文件保存至服务器的更多相关文章
- 使用CURL下载远程文件保存到服务器
		
比如微信公众平台开发,下载用户的头像到服务器上: /** * 使用CURL获取远程文件保存到服务器 *@param $image=$oJSON->headimgurl; 获取到的微信返回的头像U ...
 - java 文件保存到本地
		
private void savePic(InputStream inputStream, String fileName) { OutputStream os = null; try { Strin ...
 - 当java web项目部署到服务器上时,无法将图片等媒体文件保存到服务器的最终奥义
		
今天,我在部署web项目至云服务器上(Tomcat8.0)时,突然发现我的应用,无法上传图片,视频等多媒体文件了,一再检查自己的代码逻辑没有问题之后,逐一排查,首先想到的就是看一下控制台打印的日志,日 ...
 - NPOI生成不规则Excel表格(并以流的形式下载,不将文件保存在服务器上,直接在客户端导出excel)
		
//下载NPOI类库并添加引用 using NPOI.SS.UserModel; using NPOI.HSSF.UserModel; using NPOI.SS.Util; public stati ...
 - 点滴积累【C#】---C#实现上传word将路径保存到数据库,文件保存到服务器。并且按照名称读取服务器的word
		
效果: 1. . . 数据库: 思路: 上传:先获取word物理地址,然后根据文件的类型判断,然后再保存到相应的文件夹下,再把路径插入到数据库中. 读取:首先根据输入的文件名字在数据库中查找出来文件的 ...
 - Nginx 如何设置反向代理 多服务器,配置区分开来,单独文件保存单个服务器 server 主机名配置,通过  include 实现
		
samcao 关注 2015.06.15 10:08* 字数 0 阅读 408评论 0喜欢 0 网络结构如上图.可能你只有一个公网的Ip地址. 但是您的内网有个网站需要映射至外网.而又不想添加其它 ...
 - java http下载文件/上传文件保存
		
private boolean downloadFile(String httpUrl, String savePath) { int byteread = 0; try { URL url = ne ...
 - 如何使用命令行编译和运行java文件
		
相信大家现在一般都在使用IDE环境来开发运行java文件,但我觉得可以在命令行里面简单运行java文件,技多不压身. 接下来我来说一下编译和运行java文件: 第一步,首先下一个入门程序(注意:一定要 ...
 - 在线编辑word文档 可保存到服务器
		
使用说明:该方法只在office xp 和 2003上 测试通过,2000及以下 版本没试. 注意:你要打开的服务器端的word文档要有写权限.iis要开起 web服务扩展中的webdav为允许 具体 ...
 
随机推荐
- Ztree使用笔记
			
在项目中需要用到树,使用了Ztree.(官网地址:http://www.treejs.cn/v3/main.php#_zTreeInfo,介绍很详细,有API,有demo) 1.初始化树: $.f ...
 - YII2.0 验证表单
			
控制器代码 <?php namespace app\modules\pub\controllers; use Yii; use backend\base\BaseController; use ...
 - fastcoloredtextbox控件   看下是否解决了中文
			
该控件解决中文网址 未测试是否解决 想保存 http://www.dullong.com/share-a-code-can-be-highlighted-components-fastco ...
 - Java和C/C++进行DES/AES密文传输(借鉴)
			
Java和C/C++进行DES/AES密文传输 声明:对于新手来说很难解决的一个问题,终于在非常煎熬之后找到这篇文章,所以借鉴过来.原文地址http://blog.sina.com.cn/s/blog ...
 - (实用篇)jQuery+PHP+MySQL实现二级联动下拉菜单
			
二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动.本文将通过实例讲解使用jQuery+PHP+MySQL来实现大小分类二级下拉联动效果. 先看下效果 大类: 前端技术 ...
 - python数据结构与算法——图的广度优先和深度优先的算法
			
根据维基百科的伪代码实现: 广度优先BFS: 使用队列,集合 标记初始结点已被发现,放入队列 每次循环从队列弹出一个结点 将该节点的所有相连结点放入队列,并标记已被发现 通过队列,将迷宫路口所有的门打 ...
 - 启动运行下载gradle速度太慢,手动添加
			
启动运行下载gradle速度太慢,并且容易卡死(感谢群友ˋ狠ㄨ得意提供支持)---国内网络访问地址 我们经常运行项目的时候会需要进行下载gradle,不过由于网络或者和谐的问题经常下载需要花很长时间或 ...
 - Linux设计准则
			
计算机体系结构: 运算器 控制器 存储器,内存,编址 输出设备 输入设备 Linux内核功能: 进程管理内存管理文件系统网络功能硬件驱动安全机制 Linux的基本原则: 1.由目的单一的小程序组成: ...
 - linux常用命令 (mac ),积少成多
			
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
 - shell终极操作
			
1.安装zsh Mac : 直接看下一节 Redhat/centos :sudo yum install zsh Ubuntu :sudo apt-get install zsh 2.安装oh my ...