上传图片产生缩略图后存到数据库里,运行正常,可显示的时候显示* ,并且产生的图片很大 不知道为什么是不是 存的格式不对
我的代码
---------------------
HttpPostedFile upImage=IF1.PostedFile;
ImageLength=upImage.ContentLength;
m_width=100;
m_height=100;
if(ImageLength==0)
{
lmessage.Text="请您选择要上传的文件";
}
else
{
Byte[] Ba=new byte[ImageLength];
Stream objStream= upImage.InputStream;
System.Drawing.Image obj = System.Drawing.Image.FromStream(objStream);
obj.GetThumbnailImage(m_width,m_height,null,IntPtr.Zero);
MemoryStream ms=new MemoryStream();
obj.Save(ms,ImageFormat.Gif);
obj.Dispose();
ms.Read(Ba,0,ImageLength);
upImages objImage=new upImages();
objImage.Content=tContext.Text;
objImage.Data=Ba;
objImage.Title=tBh.Text;
objImage.Type="image/gif";
objImage.Size=upImage.ContentLength;
objImage.AddImage();
lmessage.Text="操作成功";
}
我的代码
---------------------
HttpPostedFile upImage=IF1.PostedFile;
ImageLength=upImage.ContentLength;
m_width=100;
m_height=100;
if(ImageLength==0)
{
lmessage.Text="请您选择要上传的文件";
}
else
{
Byte[] Ba=new byte[ImageLength];
Stream objStream= upImage.InputStream;
System.Drawing.Image obj = System.Drawing.Image.FromStream(objStream);
obj.GetThumbnailImage(m_width,m_height,null,IntPtr.Zero);
MemoryStream ms=new MemoryStream();
obj.Save(ms,ImageFormat.Gif);
obj.Dispose();
ms.Read(Ba,0,ImageLength);
upImages objImage=new upImages();
objImage.Content=tContext.Text;
objImage.Data=Ba;
objImage.Title=tBh.Text;
objImage.Type="image/gif";
objImage.Size=upImage.ContentLength;
objImage.AddImage();
lmessage.Text="操作成功";
}
解决方案 »
- dataset 中怎么改变一个字段的数据类型int to string
- .net中怎样实现打印收据单,从数据库提出的数据,自己安排文字在单子上的位置
- asp.net iis5.0 无权访问页面
- 问下GridView中CheckBox删除操作的问题
- 查询出的资料导出为txt文件,并可下载
- gridview显示html格式
- 号外号外。特大新闻vs.net支持中文类名和中文方法。
- 百度,google编码转换问题!再线等,急,解决后立马给分!
- asp.net做的系统,每隔两天左右就出现客户端访问速度很慢的情况,但在服务器上访问一切正常,重新启动服务器后速度就很快
- SQL-Server中的自编函数返回值为一个表,怎样绑定到DataGrid上
- 这里有个问题想和大伙讨论一下
- 大侠请支招
'//图象上传和生成缩略图
Public Function imgup(ByVal upfile As System.Web.UI.HtmlControls.HtmlInputFile)
'返回的结果
Dim res As Integer
'原始图象保存目录
Dim filesavepath As String = "img"
'缩略图保存目录
Dim sfilesavepath As String = "simg"
Dim bimg, simg As System.Drawing.Image
'缩略图保存大小
Dim swidth As Integer = 120
Dim sheight As Integer = 90
'文件保存类型
Dim filetype As String = ".jpg,.bmp,.gif"
'允许上传最大大小
Dim maxfilesize As Int32 = 1024 * 300
'上传文件大小
Dim filesize As Integer = upfile.PostedFile.ContentLength
'文件扩展名
Dim filefullname As String = upfile.PostedFile.FileName
Dim i As Integer = filefullname.LastIndexOf(".")
Dim fileextension As String = filefullname.Substring(i)
'新的文件名
Dim newfilename As String = DateTime.Now.Year.ToString() & DateTime.Now.Month.ToString() & DateTime.Now.Day.ToString() & DateTime.Now.Minute.ToString() & DateTime.Now.Second.ToString()
Try
If filetype.IndexOf(fileextension) = -1 Then
res = -1
Else
If filesize > maxfilesize Then
res = 0
Else
'保存文件
upfile.PostedFile.SaveAs(Server.MapPath(filesavepath & "/" & newfilename & fileextension))
'生成缩略图
bimg = System.Drawing.Image.FromFile(Server.MapPath(filesavepath & "/" & newfilename & fileextension))
simg = bimg.GetThumbnailImage(swidth, sheight, Nothing, (New IntPtr).Zero)
simg.Save(Server.MapPath(sfilesavepath & "/" & newfilename & fileextension), System.Drawing.Imaging.ImageFormat.Jpeg)
simg.Dispose()
bimg.Dispose()
'加入session
Session("upfile") = newfilename & fileextension
res = 1
End If
End If
Catch ex As Exception
res = 2
End Try
Return res
End Function
关键是 这里“obj.Save(ms,ImageFormat.Gif);”
设置了 固定格式后,在怎么给控件传递文件格式是 用“objImage.Type="image/gif";”吗?另外你给我的是传到目录里的 ,不是传到库里的
hp.q 发表于 2000-11-23 16:28:36 .NET技术 ←返回版面 [快速返回] <%@ Page Language="c#" Debug="true" Trace="true"%>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Drawing.Imaging" %>
<html>
<script runat =server>
void UploadBtn_Click(Object sender, EventArgs e) {
String filename;
String filename1;
String[] filename2;
int q;
filename=UploadFile.PostedFile.FileName ;
filename2=filename.Split(new Char[] {'\\'});
q=filename2.GetUpperBound(0);
filename1=filename2[q];
dis.Text="上传文件名:"+filename1+"<br/>";
UploadFile.PostedFile.SaveAs(Server.MapPath(filename1));
ImageEditor.Visible = true;
dis.Text+="文件大小:"+UploadFile.PostedFile.ContentLength+"字节数";
Image1.Src=filename1;
}
void UpdateBtn_Click(Object sender, EventArgs e) {
String filename1;
filename1=Image1.Src;
System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath(filename1));
System.Drawing.Image newimage = new Bitmap(image.Width, image.Height, PixelFormat.Format32bppRGB);
Graphics g = Graphics.FromImage(newimage);
g.DrawImage(image,0,0,image.Width,image.Height);
Font f = new Font(FontType.SelectedItem.Text, Int32.Parse(FontSize.SelectedItem.Text));
Brush b = new SolidBrush(Color.Red);
g.DrawString(Caption.Text, f, b, 10, 140);
g.Dispose();
System.Drawing.Image thumbImage = newimage.GetThumbnailImage(Int32.Parse(Width.Text),Int32.Parse(Height.Text),null,0);
image.Dispose();
thumbImage.Save(Server.MapPath(filename1), ImageFormat.JPEG);
Image1.Src=filename1;
Caption.Text="";
} </script> <body>
<asp:label id="dis" runat=server/>
<form enctype="multipart/form-data" runat=server> <h3> Select File To Upload: <input id="UploadFile" type=file runat=server> <asp:button Text="Upload Me!" OnClick="UploadBtn_Click" runat=server/> <hr>
<asp:panel id="ImageEditor" Visible=false runat=server> <img ID="Image1" src="" runat="server"/> <h3>
Image Width: <asp:textbox id="Width" runat=server/> Image Height: <asp:textbox id="Height" runat=server/> <br/> Text Caption: <asp:textbox id="Caption" runat=server/> Caption Size: <asp:dropdownlist id="FontSize" runat=server>
<asp:listitem>14</asp:listitem>
<asp:listitem>18</asp:listitem>
<asp:listitem>26</asp:listitem>
<asp:listitem>36</asp:listitem>
<asp:listitem>48</asp:listitem>
<asp:listitem>62</asp:listitem>
</asp:dropdownlist>
Caption Font: <asp:dropdownlist id="FontType" runat=server>
<asp:listitem>黑体</asp:listitem>
<asp:listitem>仿宋</asp:listitem>
<asp:listitem>隶书</asp:listitem>
<asp:listitem>楷书</asp:listitem>
<asp:listitem>方正姚体</asp:listitem>
<asp:listitem>华文彩云</asp:listitem>
</asp:dropdownlist>
<asp:button Text="Update Image" OnClick="UpdateBtn_Click" runat=server/> </h3>
</asp:panel> </form> </body>
</html>
关键是 这里“obj.Save(ms,ImageFormat.Gif);”
设置了 固定格式后,在怎么给控件传递文件格式是 用“objImage.Type="image/gif";”吗?