当前位置:编程学习 > C#/ASP.NET >>

fileupload问题?

用这个控件上传图片然后显示在页面上???、 --------------------编程问答--------------------  if (FileUpload1.HasFile)
            {
                strMath = Server.MapPath("~/Image/");
                string extension = Path.GetExtension(FileUpload1.PostedFile.FileName).ToUpper();
                strName = DateTime.Now.ToString("yyyyMMddhhmmss") + extension;
                FileUpload1.PostedFile.SaveAs(strMath + strName);
            }

this.imgPhoto.ImageUrl ="~/image/"+ strName ; --------------------编程问答-------------------- 干什么? --------------------编程问答--------------------
引用 1 楼 wuyq11 的回复:
if (FileUpload1.HasFile)
  {
  strMath = Server.MapPath("~/Image/");
  string extension = Path.GetExtension(FileUpload1.PostedFile.FileName).ToUpper();
  strName = DateTime.Now.ToString("yyyyMMddh……

废话也不多说了,试试这个看看行不行,大体的思路也就是这样。 --------------------编程问答-------------------- protected void btnSave_Click(object sender, EventArgs e)

    {

        //判断文件是否存在

        if (fileUp.HasFile)

        {

            string path = Server.MapPath("~\\") + "Upload\\";

            //判断文件夹是否存在

            if (!Directory.Exists(path))

            {

                Directory.CreateDirectory(path);

            }

            //得到扩展名

            string ext = Path.GetExtension(fileUp.FileName).ToLower();

            string[] exts = {".gif",".jpg",".bmp","png"};

            //检查是不是图片类型

            bool boex = false;

            foreach (string et in exts)

            {

                if (et.Equals(ext))

                {

                    boex = true;

                    break;

                }

            }

            //判断类型

            if (boex)

            {

                //保存文件

                //用当时间作为文件名

                string strtime = DateTime.Now.ToString("yyyyMdhms");

                fileUp.SaveAs(path + strtime + ext);

                Page.ClientScript.RegisterStartupScript(Page.GetType(),"chengong","<script language=javascript>{alert('上传图片成功!! ');}</script>");
             }

            else

            {

                Page.ClientScript.RegisterStartupScript(Page.GetType(),"error", "<script language=javascript>{alert('文件格式不正确!!');}</script>");
            }

        }

        else

        {

            Page.ClientScript.RegisterStartupScript(Page.GetType(), "error", "<script language=javascript>{alert('指定的文件不存在!!');}</script>");

        }

}
--------------------编程问答--------------------
引用 4 楼 zhlu880516 的回复:
protected void btnSave_Click(object sender, EventArgs e)

  {

  //判断文件是否存在

  if (fileUp.HasFile)

  {

  string path = Server.MapPath("~\\") + "Upload\\";

  //判断文件夹是否存在

  if (!Direct……

--------------------编程问答--------------------
引用楼主 somnus133 的回复:
用这个控件上传图片然后显示在页面上???、


我也有相应的问题..但是我不想上传以后才能预览,,
我实现了浏览路径就能浏览图片.但是在模板页中无法再后台获取路径,
楼主也去看看 ..

可以参考下我的帖子
【!!急!!】html与asp.net控件的问题(图片预览与获取路径) 


--------------------编程问答-------------------- 上传完成后
this.img.ImageUrl ="server路径"+ imageName ;

上传前要看到:写物理路径:记得路径物理路径写法:\\\,\\ --------------------编程问答-------------------- 人生如梦大哥,你看看我的问题啊啊 --------------------编程问答-------------------- 刚找了一个..这个不错  你去看看..
测试代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>上传图片前预览 </TITLE>
<script>   
//此方法只能用在HTML页面中
function test(){   
document.getElementById("showimg").src=document.getElementById("file1").value;   
}

/*
google一下能用Microsoft.AlphaImageLoader滤镜解决此问题.此滤镜的主要作用就是对图片进行透明处理。虽然FireFox和IE7以上的IE浏览器已经支持透明的PNG图片,但是就IE5-IE6而言还是有一定的意义。

语法:
filter : progid:DXImageTransform.Microsoft.AlphaImageLoader (enabled=bEnabled , sizingMethod=sSize , src=sURL )

属性:
1 enabled:true/false 是否激活滤镜
2 sizingMethod:
01 crop:剪切图片以适应对象尺寸。 
02 image:默认值。增大或减小对象的尺寸边界以适应图片的尺寸。 
03 scale:缩放图片以适应对象的尺寸边界
3 src属性是指向图片绝对或相对路径的(必选的);

此方法问题:浏览图片是没问题,可是浏览小图Div会小,浏览大图可能会占据整个页面,而我们希望以固定的大小显示所有的图片
*/
function ShowImage1(path){
document.getElementById("divShow").filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = path;
}

/*
为了解决上面的问题,我们可以使用他的scale属性.可是如果用这个属性,在浏览大图时,他会缩小原图;浏览小图时,他会放大小图,使小图模糊不清。所以不能用此属性。最后我们添加下面的setImg(o)方法改变这种情况。 
*/
function ShowImage(path){
//处理前是原图,先将其隐藏,
document.all.divShow.style.visibility="hidden";
document.all.divShow.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src=path;
document.all.divShow.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod="image";

//过100毫秒后获取div的宽高.
setTimeout("setImg(document.all.divShow)",100);
//setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
document.all.divShow.style.border="1px solid #ccc";
}

function setImg(o){
var img_width;
var img_height;

o.style.visibility = "visible";
img_width=o.offsetWidth; //o.offsetWidth对象的可见宽度
img_height=o.offsetHeight; //o.offsetWidth对象的可见高度

var width=274;   //预定义宽
var height=100; //预定义高

var ratW;        //宽的缩小比例
var ratH;        //高的缩小比例
var rat;         //实际使用的缩小比例

if(img_width<width && img_height<height)
{
    //如果比预定义的宽高都小,原图显示。
    o.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod="image";
    return;
}else{
    //如果大的话,要把 sizingMethod改成scale; 如果属性是image,不管怎么改div的宽高,都不起作用
    o.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod="scale";
}

ratW=width/img_width;
ratH=height/img_height;

if(ratH<ratW)//选择最小的作为实际的缩小比例
    rat=ratH;
else
    rat=ratW;
    
img_width=img_width * rat;
img_height=img_height * rat;

o.style.width=img_width;
o.style.height=img_height;
}
</script>   
</HEAD>

<BODY MS_POSITIONING="GridLayout">

<!--
<img id="showimg">
<input type="file" id="file1" onchange="test()">
-->
<form id="Form1" method="post">
<input type="file" onchange="ShowImage(this.value)" >

<div id="divShow" style="width:274px;height:100px;FILTER:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);"></div>
</form>

</BODY>
</HTML>



来源:http://jialeifei.blog.163.com/blog/static/22190126201022633630889/ --------------------编程问答-------------------- 如梦兄已经写出基本上的了
PS:这种网上例子非常多。 --------------------编程问答-------------------- 搜一下 到处都是。。 --------------------编程问答-------------------- 那我要把上传的图片传值到第二个页面,第二个页面的fileupload控件里显示传过来的路径和页面上显示出这个图片,要怎么传和接收呢??
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,