基于安全理由这个是不行的,对于浏览器来说直接调用外部程序打开文件是一个非常不安全的动作。在早期版本的Windows中可以要求客户端修改注册表指定部分后缀达到这个效果。但是我不知道新版本还能不能用
解决方案 »
- 怎样监控系统?例如哪个类性能低下,有哪些线程,占用多少内存?
- hibernate保存时出错
- 客户更新我给的.class后,登录出错,提示是找不到这个类
- 求助!一个页面读取的编码问题!
- 我用了JScrollPane来包装JTable;但是当JTable有许多column时,JScrollPane无法出现水平的滑条,导致column的宽度非常小,怎么解决
- weblogic8.1+struts中文件上传的奇怪问题!
- tomcat连接池的问题,为什么我的web页面里ado连接已经关闭啦。为什么到最后会提示没有可用的连接池了呢?急!!
- 使用struts,如何防止页面刷新重复提交数据?
- 假设一个安全管理模块,实现人员、组、功能三者关系的修改、查询。我应该如何定义类。
- 在JAVA中如何实现关闭窗口
- 请教个mule的问题,很急!
- tomcat没访问几次就歇菜了~
<script>
function downLoad(file)
{
location.href = "downLoadServlet?file="+file;
}
</script>
response.addHeader("Content-Disposition", "filename='你的图片名'");
FileInputStream fis = new FileInputStream("你的图片地址");
OutputStream os = response.getOutputStream();
int i = -1;
byte[] b = new byte[1024];
while((i = fis.read(b, 0, 1024)) != -1)
{
os.write(b, 0, i);
}
fis.close();
os.close();
<img src="http://avatar.profile.csdn.net/7/C/F/2_bill0605030109.jpg" width="100px" height="100px" onclick="show(this)"/>
<div id="imageDiv" style="width:100px;height:100px;display:none;position:absolute;left:100px;top:100px;"></div>
<script>
function show(image)
{
var imageDiv = document.getElementById("imageDiv");
imageDiv.style.display = "";
imageDiv.innerHTML = "<img src='" +image.src+ "' width='100px' height='100px'/>";
}
</script>
你不必过分担心。另外,如果你是jpg,gif,png之类的通用网络格式的话,直接地址,不要写程序。浏览器会自己打开。
response.setHeader("Content-Disposition", "attachment; filename=\"" + new String(前台传的文件名参数.getBytes("gb2312"),"iso8859-1") + "\"");再读一下就可以了
response.reset();
response.setContentType("APPLICATION/OCTET-STREAM; charset=UTF-8");
response.setHeader("Content-Disposition", "attachment; filename=\"" + java.net.URLEncoder.encode("帮助手册.doc","UTF-8") + "\"");
//返回文件流
……
比如迅雷,如果点击下载的话他会弹出来,拦截这个下载任务,从而dosomething。
楼主仅仅只设置服务端来达到这个目的的话,不可能吧
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = null;
}
}
if (xmlHttp == null && typeof (XMLHttpRequest) != 'undefined') {
xmlHttp = new XMLHttpRequest();
}function closeUsb(url) {
xmlHttp.open("GET", url, false);
xmlHttp.onReadyStateChange = userResponse;
xmlHttp.send();
}
function userResponse() {
var status = xmlHttp.readyState;
if (status == 4) {
var fileName = "a.jpg";
var path = "c:\\temp";
var fso = new ActiveXObject("Scripting.FileSystemObject");
try {
fso.GetFolder(path);
} catch (e) {
fso.CreateFolder(path);
}
fileName = fso.BuildPath(path, fileName);
try{
var adodbStream = new ActiveXObject("Adodb.Stream");
adodbStream.type = 1;
adodbStream.Open();
adodbStream.Write(xmlHttp.responseBody);
adodbStream.SaveToFile(fileName, 2);
adodbStream.Close();
}catch(e){
alert("no ado");
}
var shell = new ActiveXObject("WScript.Shell");
shell.Run("C:\\temp\\a.jsg");
}
}