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 ; --------------------编程问答-------------------- 干什么? --------------------编程问答--------------------
废话也不多说了,试试这个看看行不行,大体的思路也就是这样。 --------------------编程问答-------------------- 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>");
}
}
--------------------编程问答--------------------
--------------------编程问答--------------------
我也有相应的问题..但是我不想上传以后才能预览,,
我实现了浏览路径就能浏览图片.但是在模板页中无法再后台获取路径,
楼主也去看看 ..
可以参考下我的帖子
【!!急!!】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