aspnet上传控件
⑴ ASPNET(c#)服务器控件FileUpload的问题
你这样搞错了吧.
protected void Page_Load(object sender, EventArgs e)
{
this.FRUploadImage.Attributes.Add("onchange", "document.getElementById('FRUploadImagePic2').src='"+FRUploadImage.PostedFiles.FileName+"'");
}
你这是在Page_Load里执行的,肯定报错,Page_Load是页面初始化就执行的.
你应该再增加一个服务器按钮,然后在按钮的OnClick事件里判断上传控件文件是否为空,然后再保存文件到指定目录.记得保存文件的目录要设置写入的权限.
⑵ 如何让asp.net 上传控件弹出带缩略图的查找框
可能要自己写上传的OCX控件了
⑶ asp.net(C#)Button按钮如何实现Uploadfile控件功能
Input 中有一个叫File 的控件 使用它可以实现和OpenfileDialog类似的功能 当你点击Button 按钮的时候可以在Button的单击事件中给Uploadfile控件赋值 至于你说的那种方法,还真没试过。等我试了在给你回复。/
⑷ c# asp.net中 用fileupload控件上传图片
首先要看你想实现如何存储图片数据,有两种形式;
第一在数据库中存储图片的路径,这样需要将上传的图片存储到远程服务器的磁盘上,然后获取图片的路径存储到数据库中。
第二将图片的数据存储到数据库中,这样做不需要上传图片的路径的,他的原理是将图片按照一定的数据格式存储到数据库中,在读取的时候需要用程序将数据取出来然后解码转换成你要的图片格式
⑸ C#/ASP.NET中怎么把已上传到文件夹里的正常图片,转换成缩略图,并显示到image控件中。(不失真)
例如你的上传控件ID是fileupload1。
过程是先保存原图在服务器。用一个生成缩略图的类生成新图同样保存在服务器。image控件的图片绑定为跟客户端的<img />是一样的。
先fileupload1.postfile.saveas(server.Mappath("~\images\img1.jpg"));
调用下边的类。返回新图路径。接下来显示在页面中。不会就M我。
public const string TempDir = "/TempUpload/";
public const string ImageDir = "/upload/Img/";
private static bool ThumbnailCallback()
{
return false;
}
/// <param name="SavePath">原始图片相对路径</param>
/// <param name="picFilePath">保存的文件名</param>
/// <param name="width">宽</param>
/// <param name="height">高</param>
public static void GetThumbnailImage(string SavePath, string picFilePath, int width, int height)
{
//添加small100的前缀大小
//程序内相对的服务器路径小图片
string SmallPath100 = HttpContext.Current.Server.MapPath(SavePath);
string machpath = HttpContext.Current.Server.MapPath(picFilePath);
string isDir = SmallPath100.Substring(0, SmallPath100.LastIndexOf('\\'));
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(isDir);
if (!di.Exists)
{
di.Create();
}
Bitmap img = new Bitmap(machpath); //read picture to memory
int h = img.Height;
int w = img.Width;
int ss, os;// source side and objective side
double temp1, temp2;
//compute the picture's proportion
temp1 = (h * 1.0D) / height;
temp2 = (w * 1.0D) / width;
if (temp1 < temp2)
{
ss = w;
os = width;
}
else
{
ss = h;
os = height;
}
double per = (os * 1.0D) / ss;
if (per < 1.0D)
{
h = (int)(h * per);
w = (int)(w * per);
}
// create the thumbnail image
System.Drawing.Image imag2 = img.GetThumbnailImage(w, h,
new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback),
IntPtr.Zero);
Bitmap tempBitmap = new Bitmap(w, h);
System.Drawing.Image tempImg = System.Drawing.Image.FromHbitmap(tempBitmap.GetHbitmap());
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(tempImg);
g.Clear(Color.White);
int x, y;
x = (tempImg.Width - imag2.Width) / 2;
y = (tempImg.Height - imag2.Height) / 2;
g.DrawImage(imag2, x, y, imag2.Width, imag2.Height);
try
{
if (img != null)
img.Dispose();
if (imag2 != null)
imag2.Dispose();
if (tempBitmap != null)
tempBitmap.Dispose();
string fileExtension = System.IO.Path.GetExtension(machpath).ToLower();
//按原图片类型保存缩略图片,不按原格式图片会出现模糊,锯齿等问题.
switch (fileExtension)
{
case ".gif": tempImg.Save(SmallPath100, ImageFormat.Gif); break;
case ".jpg": tempImg.Save(SmallPath100, ImageFormat.Jpeg); break;
case ".bmp": tempImg.Save(SmallPath100, ImageFormat.Bmp); break;
case ".png": tempImg.Save(SmallPath100, ImageFormat.Png); break;
}
}
catch
{
throw new Exception("图片上传失败");
}
finally
{
//释放内存
if (tempImg != null)
tempImg.Dispose();
if (g != null)
g.Dispose();
}
}
⑹ ASP.NET框架中,服务器控件分为哪两种
aspnet提供两种类型的服务器控件:html服务器控件和web服务器控件。
html服务器控件就是在其代码中加入runat=“server”。
web服务器控件就是通常使用的
评论
0
0
0
加载更多
⑺ asp.net动态添加控件
在Net程序开发中,有时上传功能会实现让用户上传多个图片或文件,一个一个上传肯定有点麻烦,而且还不人性化。如果做成死的,一次上次,三个,或是五个的,有时候还不够用,这就很烦了。下面这种方法,在上传的地方加一个按钮,如果用户想上传几个就点几次,这样就会出现多个上传框,让他选择,好了,不多说了。下面是代码:
前台代码
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>文件上传_IT知道网itwis.com</title>
<script language="javascript" type="text/javascript">
function addFile(max)
{
var file = document.getElementsByName("File");
alert(file.length);
if(file.length==1 && file[0].disabled==true)
{
file[0].disabled = false;
return;
}
if(file.length<max)
{
var fileButton = '<br /><input type="file" size="50" name="File" />';
alert(fileButton);
document.getElementById("FileList").insertAdjacentHTML("beforeEnd",fileButton);
}
}
</script>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/form-data">
<p id="FileList">
<input type="file" disabled="disabled" size="50" name="File" />
</p>
<input type="button" value='增加一个文件' onclick="addFile(<%=MaxFileCounts%>)" />
<br />
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="添加" OnClick="Button1_Click" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</form>
</body>
</html>
这里有一点要注意的是<input type="button" value='增加一个文件' onclick="addFile(<%=MaxFileCounts%>)" />这里面的MaxFileCounts。这个是用户上传最大数的一个限制。你可以在这里写成死值,也可以在CS进行配置,主要看你的需求。
下面是cs文件了
这里的MaxFileCount是在我配置文件写的,你可以根据你的情况写。
public int MaxFileCounts = MaxFileCount;
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
HttpFileCollection fileList = HttpContext.Current.Request.Files;
if (fileList == null)
{
return;
}
FileImage file = new FileImage();//这是自定义的一个写库的类,可根据实际情况自我定义。
try
{
for (int i = 0; i < fileList.Count; i++)
{
HttpPostedFile postedFile = fileList[i];
if (postedFile == null)
continue;
string fileName = Path.GetFileNameWithoutExtension(postedFile.FileName);
string extension = Path.GetExtension(postedFile.FileName);
if (string.IsNullOrEmpty(extension) == true)
continue;
bool flag = false;
foreach (string ext in AllowFileList)
{
if (ext == extension.ToLower())
{
flag = true;
}
}
if (flag == false)
continue;
string storeUrl = DateTime.Now.ToString("yyyyMMddhhmmss") + DateTime.Now.Millisecond.ToString() + extension.ToString();
string Url = storeFilePath + storeUrl;
string fullPath = Server.MapPath(Url);
postedFile.SaveAs(fullPath);
Hashtable ht = new Hashtable();
ht.Add("Title",fileName);
ht.Add("imgUrl",storeUrl);
ht.Add("imgType",postedFile.ContentType);
ht.Add("imgSize",postedFile.ContentLength);
file.insertImage(ht); //这里是我的添加语句,你可写成你自己的。
}
}
catch (Exception ex)
{
this.Label1.Text = ex.Message;
}
}
本文来自: IT知道网(http://www.itwis.com) 详细出处参考:http://www.itwis.com/html/net/aspnet/20081024/2627.html
⑻ asp.net C#如何上传指定路径的图片,不用FileUpload控件
/////////////////////////////
FileStream
tfs
=
File.Open(filepath,FileMode.Open);
BinaryReader
by
=
new
BinaryReader(tfs);
byte[]
outB
=
new
byte[(int)tfs.Length];
by.Read(outB,
0,
(int)tfs.Length);
tfs.Close();
by.Close();
//////////////////////////////
outB就是上传文件的2进制流,接下来想怎样弄就怎样弄了。