Skriv til database i .NET script med C#
Jeg skal ha skrevet til en database når jeg har uploaded et billede, der skal skrives til tabelen "billeder" i felterne image(strFileName), dato(påfør automatisk datoen) og userid (session(userid))her er mit nuværende script:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Drawing" %>
<%@ import namespace="System.Data.OleDb" %>
<script runat=server>
private void myUploadCode(Object sender, EventArgs e) {
string strFileName;
if(upload_file.PostedFile.ContentLength < (200*1024)) { //Er fil over 100kb?
if(upload_file.PostedFile.FileName.IndexOf("\\") > 0)
{
strFileName = upload_file.PostedFile.FileName.Substring(upload_file.PostedFile.FileName.LastIndexOf("\\") + 1);
}
else
{
// jeg ved ikke hvad det her gør godt for... måske gør du :o)
strFileName = "ukendt fil";
}
strFileName = DateTime.Now.ToString("yyyy-MM-dd-HHmmss")+"-"+strFileName;
if(!File.Exists(Server.MapPath("upload/stor/" + strFileName))) {
int MaxSize = 100;
try
{
System.Drawing.Image image = new System.Drawing.Bitmap(upload_file.PostedFile.InputStream);
upload_file.PostedFile.SaveAs(Server.MapPath("upload/stor/" + strFileName));
System.Drawing.Bitmap bOrg = (System.Drawing.Bitmap)image;
System.Drawing.Imaging.ImageFormat format = image.RawFormat;
if(image.Width>MaxSize || image.Height>MaxSize) {
Bitmap b = Resize(bOrg,MaxSize,MaxSize);
b.Save(Server.MapPath("upload/" + strFileName ),format);
}
else
{ //Gem original da billede allerede er mindre end 100px
upload_file.PostedFile.SaveAs(Server.MapPath("upload/" + strFileName));
<--- her skal koden indsættes --->
}
Response.Write("<a href=\"img.asp?img=upload/stor/" + strFileName + "\">vis billede</a></p>");
}
catch(Exception ex)
{
Response.Write("Der skete en fejl ved processering af billedet: " + ex.Message);
}
}
else
{
Response.Write("Filnavn eksisterer allerede, prøv at ombøbe billedet!");
}
}
else {
//Fil var for stor
Response.Write("Billedet er over 100kb");
}
}
private static Bitmap Resize(Bitmap b, int MaxHeight, int MaxWidth)
{
int nWidth = b.Width;
int nHeight = b.Height;
if(nHeight>MaxHeight) {
nWidth = (int)((((double)b.Width)/((double)b.Height))*((double)MaxHeight));
nHeight = MaxHeight;
}
if(nWidth>MaxWidth) {
nWidth=MaxWidth;
nHeight = (int)((((double)b.Height)/((double)b.Width))*((double)MaxWidth));
}
Bitmap bTemp = (Bitmap)b.Clone();
b = new Bitmap(nWidth, nHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
double nXFactor = (double)bTemp.Width/(double)nWidth;
double nYFactor = (double)bTemp.Height/(double)nHeight;
for (int x = 0; x < b.Width; ++x)
for (int y = 0; y < b.Height; ++y)
b.SetPixel(x, y, bTemp.GetPixel((int)(Math.Floor(x * nXFactor)),
(int)(Math.Floor(y * nYFactor))));
return b;
}
</script>
<html>
<body link="#FFFFFF" text="#FFFFFF" bgcolor="#000000" vlink="#FFFFFF" alink="#FFFFFF">
<form enctype="multipart/form-data" runat="server">
<asp:PlaceHolder id="phEdit" runat="server">
<p><font color="#FFFFFF" face="Arial" size="5">Vælg billede:</font></p>
<input id="upload_file" type="file" runat="server" /><br><br>
<asp:button Text="Upload" onClick="myUploadCode" runat="server" /><br>
<p><font color="#FFFFFF" face="Arial" size="4">Maks fil størrelse: 200kb</font></p>
</asp:PlaceHolder>
</form>
</body></html>
