例如我现在做一个上传图片的例子,
 得到图片的全路径为 d:\photo\1.png;
这时候我要把这个路径的图片放在img src里面, 这样可以形成缩略图的效果,
我现在做的是先上传然后生成缩略图, 但是有一点不好就是上传之后图片就存在项目中了,如果用户不停的更换那就去文件里面找然后删除,很麻烦, 
现在就想改成是只是一个预览效果, 最后在点击保存按钮时然后再上传文件到项目中的文件夹

解决方案 »

  1.   

    你可以先将图片加载到pictureBox里,如果用户觉得可以再上传呀,(如果用户不停的更换图片,你可以把this.pictureBox1.Image = null;这句放到你的 上传按钮里
      

  2.   

    可以先用js把客户要上传的图片预览显示
       <script type="text/javascript">
            function showimg(img) {
                document.getElementById("preimg").src =img.value;
            }
      </script><asp:FileUpload  Id="uploadfile1" runat="server" onchange="showimg(this);" /><img id="preimg" src="" />
      

  3.   

    这是B/S哪来的 pictureBox 还有我上面说过了我是点击按钮将图片保存起来了才能生成缩略图的,这样不好,,如果先放在 pictureBox1 可以生成缩略图么
      

  4.   


    这位朋友的非常,能够这样最好,但是图片显示不出来,  img.value也获取到了,还是显示不出来,这是为什么
      

  5.   

    不可能,这等于是客户用IE自己访问自己本地的图片
    我机子上运行ok
      

  6.   

    是不是我的是IE7呀, 网上说IE7好像不能显示
      

  7.   

    我知道了,IE版本的问题
    改用这个显示function showimg(img) {
    document.getElementById("preimg").filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = img.value;
    }
      

  8.   

    另外preimg不能再用img了
    要用div
    <div id="preimg" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);width:600px;height:400px;">
       </div>美中不足的是,好像就必须要设置死预览图片的高和宽了
      

  9.   

    完整的代码如下:     <script type="text/javascript">
    function showimg(img) {
    document.getElementById("preimg").filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = img.value;
    }  </script><asp:FileUpload Id="uploadfile1" runat="server" onchange="showimg(this);" />   <div id="preimg" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);width:270px;height:250px;">
       </div>    </div>
      

  10.   

    非常感谢 showlin 我不明白为什么是DIV显示为什么DIV还可以给src
     
      

  11.   

    不是div给src,而是给div
    设置滤镜,利用AlphaImageLoader方法设置背景图片,把sizingMethod=scale去掉应该就是不缩放图片了