对于上传图片的要求,将本地图片上传到远程的虚拟目录下,该怎么实现?
在远程计算机上,在IIS上发布一个虚拟目录,该步骤如下:
的目录。
完成虚拟目录后,根据要求现要将本地的上传到虚拟目录下,用java代码实现如下:
1、首先需要下载一个jar包,即:jcifs-1.3.14.jar (已经上传了)
2、编写java代码:
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.UnknownHostException;
import jcifs.smb.SmbException;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileOutputStream;
import jcifs.util.LogStream;
/**
*
* @author 秦芬
*@since 2013 -12-18
*本地图片上传到远程的虚拟目录下
*/
public class Smb {
/**
* @param args
*/
private static LogStream log = LogStream.getInstance(); //打印日志
private String url = "";
private SmbFile smbFile = null;
private SmbFileOutputStream smbOut = null;
private static Smb smb = null; //共享文件协议
public static synchronized Smb getInstance(String url) {
if (smb == null)
return new Smb(url);
return smb;
}
/**
* @param url服务器路径
*/
private Smb(String url) {
this.url = url;
this.init();
}
public void init() {
try {
log.println("开始连接...url:" + this.url);
smbFile = new SmbFile(this.url);
smbFile.connect();
log.println("连接成功...url:" + this.url);
} catch (MalformedURLException e) {
e.printStackTrace();
log.print(e);
} catch (IOException e) {
e.printStackTrace();
log.print(e);
}
}
public int uploadFile(File file) {
int flag = -1;
BufferedInputStream bf = null;
try {
this.smbOut = new SmbFileOutputStream(this.url + "/" + file.getName(), false);
bf = new BufferedInputStream(new FileInputStream(file));
byte[] bt = new byte[8192];
int n = bf.read(bt);
while (n != -1) {
this.smbOut.write(bt, 0, n);
this.smbOut.flush();
n = bf.read(bt);
}
flag = 0;
log.println("文件传输结束...");
} catch (SmbException e) {
e.printStackTrace();
log.println(e);
} catch (MalformedURLException e) {
e.printStackTrace();
log.println(e);
} catch (UnknownHostException e) {
e.printStackTrace();
log.println("找不到主机...url:" + this.url);
} catch (IOException e) {
e.printStackTrace();
log.println(e);
} finally {
try {
if (null != this.smbOut)
this.smbOut.close();
if (null != bf)
bf.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
return flag;
}
public static void main(String[] args) {
String remoteUrl = "http://192.168.2.196/hopsca_images/";
String localFile = "E:\\images\\a.jpg"; //本地要上传的文件
File file = new File(localFile);
Smb smb = Smb.getInstance(remoteUrl);
smb.uploadFile(file);// 上传文件
}
}
该代码上传到Smb.rar压缩包中,可以直接拿来运行。
第二种就是将虚拟目录的文件保存到本地中,代码如下:
//虚拟目录的文件保存到本地中
public static boolean saveUrlAs(String longUrl, String localUrl) {
//此方法只能用户HTTP协议
try {
URL url = new URL(longUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
/**从虚拟目录的文件保存到本地中**/
DataInputStream in = new DataInputStream(connection.getInputStream());
DataOutputStream out = new DataOutputStream(new FileOutputStream(new File(localUrl)));
byte[] buffer = new byte[4096];
int count = 0;
while ((count = in.read(buffer)) > 0) {
out.write(buffer, 0, count);
}
out.close();
in.close();
System.out.println("成功====-");
return true;
}
catch (Exception e) {
e.printStackTrace();
System.out.println("失败!!!!!!!!");
return false;
}
}
public static void test(){
String longUrl = "http://192.168.2.196/hopsca_images/";
String localUrl = "E:\\images\\a.jpg";
saveUrlAs(longUrl, localUrl);
}
public static void main(String[] args) {
test();
System.out.println("测试");
}
测试都通过了的
相关推荐
最近写了关于图片上传至本地文件夹或服务器,上传路径到数据库,并在上传时预览图片。本文通过实例代码给大家分享spring boot2.0图片上传至本地或服务器并配置虚拟路径的方法,需要的朋友参考下
1.本地/远程两种图片上传方式; 2.后台文件管理系统; 3.调整图片大小; 4.社交网站分享按钮; 5.TinyURL短地址服务; 6.支持自定义主题模板; 7.多张图片同时上传; 8.缩略图功能; 9.以及一些基本的功能...
添加GD库版本和形象图片路径两个参数变量,图片路径参数可实现调用远程图片,对于没有空间存放图片包的会员可减少负担,但失去了主动升级的能力(因为你的图片文件是别人的呀,无法控制添加减少。) 将...
内置的用户虚拟目录隔离 - 每个用户有独立的虚拟目录,用户看不到其他用户的虚拟目录。不再象传统FTP服务器,为了防止用户看到其他人的虚拟目录,而担心如何锁定用户在自己的主目录。 分级的虚拟目录系统 - 提供公共...
针对远程控制虚拟手传输数据量大,容易丢包和出现时延的情况,提出了一种基于行为数据库的参数传递方法。利用3DS MAX软件对虚拟手建模并用OpenGL在PC机上显示;将手势数据测量装置采集的手势原始数据转化成虚拟手的...
1.本地/远程两种图片上传方式; 2.后台文件管理系统; 3.调整图片大小; 4.社交网站分享按钮; 5.TinyURL短地址服务; 6.支持自定义主题模板; 7.多张图片同时上传; 8.缩略图功能; 9.以及一些基本的功能...
2) 在IIS建立一个新的虚拟目录,把RBWebEdu目录下的文件全部复制到该目录下;3) 使用DataBase下的数据库文件,建立数据库及存储过程; 4) 将web.config文件中appSettings节中的数据库联接修改:数据库名、数据库...
2) 在IIS建立一个新的虚拟目录,把RBWebEdu目录下的文件全部复制到该目录下; 3) 使用DataBase下的数据库文件,建立数据库及存储过程; 4) 将web.config文件中appSettings节中的数据库联接修改:数据库名...
优化“站外全路径模式”功能,使内容路径支持非HTTP开头路径,支持虚拟目录形式或站内文件处理等。 修正IE9标准模式时的一些问题,包括:在某些情况光标丢失内容总插在最前或插入异常内容、浏览网络文件库时的错误...
或者通过Tomcat下的conf文件夹中的配置文件来配置虚拟目录访问。 2、配置SVN仓库地址:将解压后的config.Properties文件打开修改对应的配置项: fileDir=路径为SVN服务器的仓库路径 authz=权限配置文件名 passwd=...
4.远程文件管理功能:管理远程电脑文件,支持上传、下载目录和文件,删除、创建、重命名等操作,可替代传统的FTP服务。 5.文件传输记录保存:无论采用哪种方式发送或接收了任何文件,文件传输记录中均保存了详细...
远程配置文件、图片远程路径 可支持多种读取方法或协议 (HTTP/FTP/共享路径/本地路径) ' 4。后台运行,占用系统资源小。(物理内存约 600KB,虚拟内存约 1400KB) ' 5。绿色软件,不产生垃圾信息,不必安装直接...
如果放在虚拟目录,请打开inc/config.asp修改网站路径 请确保你的空间支持FSO及AspJpeg组件,否则可能有些功能无法使用 二级目录安装请按照以下方式修改方可正常使用: 1. 修改inc/config.asp 中 SitePath="/" ...
"已启用 " " "证储存凭证 " " "5 "网络访问:可远程访问得注册表 "全部删除 " " "路径 " " "6 "网络访问:可远程访问得注册表 "全部删除 " " "路径与子路径 " " "7 "网络访问:可匿名访问得共享 "全部删除 (根据实 " ...
如果放在虚拟目录,请打开inc/config.asp修改网站路径 请确保你的空间支持FSO及AspJpeg组件,否则可能有些功能无法使用 二级目录安装请按照以下方式修改方可正常使用: 1. 修改inc/config.asp 中 ...
远程配置文件、图片远程路径 可支持多种读取方法或协议 (HTTP/FTP/共享路径/本地路径) ' 4。后台运行,占用系统资源小。(物理内存约 600KB,虚拟内存约 1400KB) ' 5。绿色软件,不产生垃圾信息,不必安装直接...
书名:《LabVIEW虚拟仪器从入门到测控应用130例》(电子工业出版社.李江全.任玲.廖结安.温宝琴) PDF格式扫描版,全书分为13章,共486页。2013年4月出版。 内容简介 本书从实际应用出发,通过130个典型实例系统地...
一、前提条件 1、确保linux服务器已经安装好虚拟环境,并且虚拟环境已经...3、选择本地和服务器的文件路径 三、采用服务器的解释器 1、file-setings-Priject interpretor-SSH输入服务的IP和用户名 2、选择解释器
本程序包括查看服务器的基本信息(包括服务器操作系统,服务器IIS版本,.NET解释引擎版本,HTTP访问端口,服务端脚本执行超时时间,虚拟目录绝对路径,常见组件支持情况 Access数据库 ,FSO,CDONTS邮件发送,...