Hej! jag har gjort nåt liknande och det ser ut så här;Filupload
Jag använder mig utav Fileupload som är inbyggt i asp men skulle nu vilja lägga till informationen även i en databas och undrar hur man gör det då man vill ha det i en egen funktion som man kallar för addToDatabase(). Det som jag vill lägga till i databasen är alltså FileName, ContentType, ContentType plus sökvägen. Det skulle vara snällt om någon visar hur jag skulle kunna lösa detta i en egen funktion som sagt. Jag vill alltså få med mig värdena till AddToDatabase() och där skapa parametrar.. Så det jag skulle behöva hjälp med är att få med mig dem dit samt hur man skriver parameternamnet. if (FileUpload1.HasFile)
{
FileUpload1.SaveAs(@"D:\Webhosting\Projekt\Web\ASP\game\" + FileUpload1.FileName);
lblStatus.Text = "Filen " + FileUpload1.FileName + " har laddats upp. Content Type " + FileUpload1.PostedFile.ContentType + " Length " + FileUpload1.PostedFile.ContentLength;
}
else
{
lblStatus.Text = "Du måste välja en fil för att kunna ladda upp!";
}
t.ex.
AddToDatabase()
{
SqlParameter prmFileName = new SqlParameter("FileName", VAD SKA MAN SKRIVA HÄR?);
}
Sv: Filupload
<code>
protected void btnUpload_Click(object sender, EventArgs e)
{
if (FileUpload1.PostedFile != null && FileUpload1.PostedFile.ContentLength > 0)
{
DirectoryInfo myPath = new DirectoryInfo(@"C:\Inetpub\wwwroot\goldenEagles\memberPics\members");
string fileName = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);// Gets the filename..
string user = User.Identity.Name.ToString();
string saveLoc = Server.MapPath("~/memberPics/members/" + fileName); // The save location...
try
{
int myCheck = myDB.addMemberPhoto(fileName, user); // Add the data to the database...
if (myCheck == 1) // if the file does'nt already exists, we will save it...
{
FileUpload1.PostedFile.SaveAs(saveLoc);
lblUpload.Text = "Filen är sparad.";
}
}
catch (Exception err) // Error ends up here...
{
lblUpload.Text = "Det gick inte att spara filen.";
lblUpload.Text += "<br />" + err.Message;
}
}
else
lblUpload.Text = "<span class='boldText' style='color:red'>Välj en fil att ladda upp</span>";
}
</code>
Metoden jag anropar för att lägga till det i databasen
<code>
public int addMemberPhoto(string _picName, string _user)
{
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("addMemberPic", conn);
cmd.CommandType = CommandType.StoredProcedure;
// SQL parameters...
cmd.Parameters.Add(new SqlParameter("@picName", SqlDbType.NVarChar, 50));
cmd.Parameters["@picName"].Value = _picName;
cmd.Parameters.Add(new SqlParameter("@user", SqlDbType.NVarChar, 256));
cmd.Parameters["@user"].Value = _user;
try
{
conn.Open(); // Opens the connection...
int myReturn = cmd.ExecuteNonQuery(); // Execute the SQL query...
return myReturn;
}
finally
{
conn.Close();// Close the connection...
}
}
</code>
Det finns säkert nåt enklare och bättre sätt att göra det på. Hoppas det hjälper dej vidare i alla fall