如何实现在点击图片下载链接时,直接弹出一个下载的窗口.而不是在新的窗口打开这个图片

解决方案 »

  1.   

    在网上搜到可以用 jspSmartUpload解决,哪位有具体的解决方案。。指导下啊。。
      

  2.   

    用一个动态地址实现下载,如php\java\asp等都可以,读出这个文件流以文件形式输出:
    php:(读文件略)
    <?
    if (isset($GLOBALS["HTTP_RAW_POST_DATA"])){
       // get bytearray
       $jpg = $GLOBALS["HTTP_RAW_POST_DATA"];
       // add headers for download dialog-box
       header('Content-Type: image/jpeg');
       header("Content-Disposition: attachment; filename=".$_GET['name']);
       echo $jpg;
    }
    java:(读文件略)
    <%@ page contentType="text/html; charset=utf-8" language="java"%>  
    <%@ page import="java.util.*"%>  
    <%@ page import="java.io.*"%>  
    <%   
    int v;   
    String name = request.getParameter("name");
    BufferedInputStream inputStream=null;
    BufferedOutputStream bos=null;
    try{
    bos =  new BufferedOutputStream(response.getOutputStream());
    inputStream = new BufferedInputStream(request.getInputStream());    
    response.setHeader("Content-Disposition", "attachment;filename=\"" + new String(name.getBytes(), "ISO-8859-1") + "\"");
    byte [] bytes = new byte[1024];   
    int i=0;
    while((v=inputStream.read(bytes))>0){ 
    bos.write(bytes, 0, v);
    i++;
    }
    } catch (IOException e) {
    throw e;
    } finally {
        if (inputStream !=  null )
        inputStream.close();
        if (bos !=  null )
        bos.close();
    }
       
    %>