I am creating a update, delete, edit form for my web database. The form works in everyway except that when I try to upload the image to the database it does not go into the database. (I know the pros and cons of storing images in a database. In this instance it is what makes the most since. ) I have to admit I have never uploaded anything to my server or database before (other than plain text). I have read through several articles and have a high level of understanding. I found an example on a website that used the OnInserting/OnUpdating command. But it is not working. I tried to find another similar example so that I could better understand it and try to fix what must be wrong. I can't find a similar example. I am posting the code I have below. Any help would be most appreciated.
C# Code Behind using System; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class html_Test_Default3 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void DetailsView1_ItemUpdated(Object sender, System.Web.UI.WebControls.DetailsViewUpdatedEventArgs e) { Response.Redirect("GridViewMasterDetailsInsertPage_cs.aspx"); } protected void DetailsView1_ModeChanging(Object sender, System.Web.UI.WebControls.DetailsViewModeEventArgs e) { if (e.CancelingEdit == true) { Response.Redirect("GridViewMasterDetailsInsertPage_cs.aspx"); }
Hi guys,I'm currently trying to insert image into my SQL db. I have tried a number of methods that were posted online, and so far with no luck.My current code reads: Dim conn As New Data.SqlClient.SqlConnection() conn.ConnectionString = ConfigurationManager.ConnectionStrings("MainDBConnection").ToString conn.Open() Dim cmd As New Data.SqlClient.SqlCommand("SP_SAVEImage", conn) cmd.CommandType = Data.CommandType.StoredProcedure Dim nUserID As New Data.SqlClient.SqlParameter("@nUserID", Data.SqlDbType.Int) nUserID.Value = "1" Dim nAlbumID As New Data.SqlClient.SqlParameter("@nAlbumID", Data.SqlDbType.Int) nAlbumID.Value = "1" Dim sDescription As New Data.SqlClient.SqlParameter("@sDescription", Data.SqlDbType.VarChar, 50) sDescription.Value = "image1" Dim sImageName As New Data.SqlClient.SqlParameter("@sImageName", Data.SqlDbType.VarChar, 50) sImageName.Value = sImageName Dim sImageType As New Data.SqlClient.SqlParameter("@sImageType", Data.SqlDbType.VarChar, 50) sImageType.Value = fileType Dim sImageData As New Data.SqlClient.SqlParameter("@sImageData", Data.SqlDbType.Image, uploadedFile.Length) sImageData.Value = uploadedFile cmd.Parameters.Add(nUserID) cmd.Parameters.Add(nAlbumID) cmd.Parameters.Add(sDescription) cmd.Parameters.Add(sImageName) cmd.Parameters.Add(sImageType) cmd.Parameters.Add(sImageData) Dim reader1 As Data.SqlClient.SqlDataReader reader1 = cmd.ExecuteReaderRunning through debug, everything runs up until the last line, where an error is caught saying : Failed to convert parameter value from a SqlParameter to a String I reckon it's to do with the input sImageData being input as a byte array - but I can't seem to find a way around it. Any help greatly appreciated!!
I am using the image datatype to upload files onto SQL SErver 2000. My problem is that it seems as though the database is only accepting files of size 65Kb or less. What is the best way of resolving this problem?
Hi I have a asp:FileUpload conponent that I am trying to use to retrieve a picture file from the clients pc and store it in a SQL database. The table is called PropertyImage and it contains the following fields: imgID (type = int - autoincrement); imgData (type = Image); imgTitle (type = VarChar); imgType (type = VarChar); imgLength (type = BigInt); I have a button (Button1) which when clicked calls Button1_Click() --------------------------------------------------protected void Button1_Click(object sender, EventArgs e) {byte[] fileData = null; Boolean status = false;if (FileUpload1 != null) { // Make sure the file has data.if ((FileUpload1.PostedFile != null) && (FileUpload1.PostedFile.ContentLength > 0)) { // Get the filename.string fn = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName); try { // Access the file stream and begin the upload. Store the file in a memory byte array.Stream MyStream = FileUpload1.PostedFile.InputStream; long iLength = MyStream.Length;fileData = new byte[(int)MyStream.Length];MyStream.Read(fileData, 0, (int)MyStream.Length); MyStream.Close(); }catch (Exception ex) { } } }SqlConnection connection = new SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\heidihomes.mdf;Integrated Security=True;User Instance=True"); try { connection.Open();SqlCommand sqlCmd = new SqlCommand("INSERT INTO PropertyImage (imgData, imgaTitle, imgType, imgLength) VALUES(@data,@title,@type,@length)"); SqlParameter param = new SqlParameter(); // String connectionString = new SqlConnection(sqlCmd, connection); param = new SqlParameter("@data", SqlDbType.Image); param.Value = fileData; sqlCmd.Parameters.Add(param);param = new SqlParameter("@title", SqlDbType.VarChar); param.Value = fileData; sqlCmd.Parameters.Add(param);param = new SqlParameter("@type", SqlDbType.VarChar); param.Value = fileData; sqlCmd.Parameters.Add(param);param = new SqlParameter("@length", SqlDbType.BigInt); param.Value = fileData; sqlCmd.Parameters.Add(param); sqlCmd.ExecuteNonQuery(); connection.Close();status = true; }catch (Exception ex){ }if (status) { UploadStatus.Text = "File Uploaded Successfully";Server.Transfer("Admin_PropertyView.aspx"); } else {UploadStatus.Text = "Uploaded Failed"; } } } -------------------------------------------------- But when I click on the button, nothing happens. Please could someone help me out here. I have tried this a few times and still haven't come right. Also, if there is something else wrong with the code, please let me know. Thanking you in advance.
hi to all !!!! i want to store the image file from user click in SQL Server , so how can i ?? How can i Store image (.jpg , .gif) in a database . pls send me Code or any thing which helps me ...
How do I store an image/photo/picture in a database?
I have a database called database1 with a table called table1 like:
Table1: Personid Name1 Name2 Address
and I want to stora a picture of the person in the database (SQL Sever 7) c:picture.jpg. How could I do that? I would like to use a stored procedure to do it. Something with BLOB?bulk insert? how does it work?
Does any one has any clue for this error ? I did went through a lot of articles on this error but none helped . I am working in Visual studie 2005 and trying to upload image in sql database through a simple form. Here is the code
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Web.Configuration; using System.IO; public partial class Binary_frmUpload : System.Web.UI.Page {protected void Page_Load(object sender, EventArgs e) { }protected void btnUpload_Click(object sender, EventArgs e) {if (FileUpload.HasFile == false) { // No file uploaded!lblUploadDetails.Text = "Please first select a file to upload..."; } else {string str1 = FileUpload.PostedFile.FileName; string str2 = FileUpload.PostedFile.ContentType; string connectionString = WebConfigurationManager.ConnectionStrings["GSGA"].ConnectionString; //Initialize SQL Server Connection SqlConnection con = new SqlConnection(connectionString); //Set insert query string qry = "insert into Officers (Picture,PictureType ,PicttureTitle) values(@ImageData, @PictureType, @PictureTitle)"; //Initialize SqlCommand object for insert. SqlCommand cmd = new SqlCommand(qry, con); //We are passing Original Image Path and Image byte data as sql parameters. cmd.Parameters.Add(new SqlParameter("@PictureTitle", str1)); cmd.Parameters.Add(new SqlParameter("@PictureType", str2));Stream imgStream = FileUpload.PostedFile.InputStream; int imgLen = FileUpload.PostedFile.ContentLength;byte[] ImageBytes = new byte[imgLen]; cmd.Parameters.Add(new SqlParameter("@ImageData", ImageBytes)); //Open connection and execute insert query. con.Open(); cmd.ExecuteNonQuery(); con.Close(); //Close form and return to list or images.
} } }
Object reference not set to an instance of an object. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.Source Error:
Line 32: Line 33: string str2 = FileUpload.PostedFile.ContentType; Line 34: string connectionString = WebConfigurationManager.ConnectionStrings["GSGA"].ConnectionString; Line 35: Line 36: //Initialize SQL Server Connection Source File: c:UsersManojDocumentsVisual Studio 2005WebSitesGSGABinaryfrmUpload.aspx.cs Line: 34 Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.] Binary_frmUpload.btnUpload_Click(Object sender, EventArgs e) in c:UsersManojDocumentsVisual Studio 2005WebSitesGSGABinaryfrmUpload.aspx.cs:34 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102
hi can anyone tell how to use the image field and add an image in a database. i'm using visual studio web developer express edition 2008 and i want people who visit my website to be able to see the table and the images associated with some of the rows in the table
I have the Image in FTP Server Folder and i need to insert that image into my local database.
How can i do this I tried with the below Query but i shows the errors as below.
--INSERT INTO AcademyStudents (ImageURL) --SELECT BULKCOLUMN FROM OPENROWSET(BULK'https://iconic-solutions.net/OTA/test/images(1).jpeg',Single_Blob) AS BLOB --Where StudentIdentificationNum = 2 --GO GOt Error ;
Cannot bulk load because the file [URL] could not be opened. Operating system error code 123(The filename, directory name, or volume label syntax is incorrect.).
Hi All, i want to store the word document files as xml files in the sql server 2000 . then i have to retrive the XML Files in to aspx pages. the document files size are 5 mb , 6 mb like that . plz give the solution that how to do it .Thanks in Advance . Regards ,raja
I m student and develop a website. i want to know how images /pics and video and audio files are store in Sql server2005 database. and ya i want to store whole file not just its address.
i using asp page like uploadImage.aspx in that i put UploadFiles control now i m confuesd to storing Images so plese help me and give code or some good easy trick at my level
And once store image or video and audio file in sql database then after how i used in my asp.net page. which control i wish to used for this files so plese this also slove it. give also code or any easy trick for fullfil my task..
I used upload image feature and below is the code that I used. The image is stored in a folder. I want to save the image in sql database. I create the database which is “database�, and I create a table which is “user�. User table has auto “id� field and “image� field. I want to save the image in the image field. I need your help to do the other codes.
I am using asp.net with VB
This is what I did so far: ============================ Partial Class upload Inherits System.Web.UI.Page Dim strFileName As String
Protected Sub btnupload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnupload.Click UploadImage() End Sub Sub UploadImage()
If Not (fileupload1.PostedFile Is Nothing) Then 'Check to make sure we actually have a file to upload
Dim strLongFilePath As String = fileupload1.PostedFile.FileName Dim intFileNameLength As Integer = InStr(1, StrReverse(strLongFilePath), "") strFileName = Mid(strLongFilePath, (Len(strLongFilePath) - intFileNameLength) + 2)
Select Case fileupload1.PostedFile.ContentType Case "image/pjpeg", "image/jpeg" 'Make sure we are getting a valid JPG image FileUpload1.PostedFile.SaveAs(Server.MapPath(" estimages") & strFileName) lbstatus.Text = strFileName & " was uploaded successfully to: " & Server.MapPath(" estimages") & strFileName
Case Else 'Not a valid jpeg image lbstatus.Text = "Not a valid jpeg image" End Select
Hi all, I dont know if anyone here can help me...I am using ASP.NEt with VB.Net and SQL Sever...What I am trying to do is create a system whereby it allows users to upload images into sql server, and thereon later retireve this image.I used a book called The Ultimate VB.Net and ASP.Net Code Book, and it basically gave me the code below to upload and retrieve images. I seem to have managed to allow the uploading of images, with them being stored as <byte> in my database, thought I have no idea how to retrieve them...Does anyone have any ideas???Here is the code I followed.. :"Storing Uploaded Files in Your Database First, a few tips on storing files inside your SQL Server database.For convenience, you’ll really need to store at least three bits of information about your file to get it out in the same shape as you put it in. I’d suggest “data� (a field that will hold your actual file as a byte array, data type “image�), “type� (a field to hold details of the type of file it is, data type “varchar�), and “length� (a field to hold the length in bytes of your file, data type “int�). I’d also recommend “downloadName�, a field to hold the name that the file had when it was uploaded, data type “varchar�. This helps suggest a name should the file be downloaded again via the Web.The problem you have is translating the information from the File Field control into an acceptable format for your database. For a start, you need to get your file into a byte array to store it in an image field. You also need to extract the file type, length, and the download name. Once you have this, set your fields to these values using regular ADO.NET code.So, how do you get this information? It’s simple: just use the following ready-to-run code snippets, passing in your File Field control as an argument. Each function will return just the information you want to feed straight into your database, from a byte array for the image field to a string for the file type.Public Function GetByteArrayFromFileField( _ ByVal FileField As System.Web.UI.HtmlControls.HtmlInputFile) _ As Byte() ' Returns a byte array from the passed ' file field controls file Dim intFileLength As Integer, bytData() As Byte Dim objStream As System.IO.Stream If FileFieldSelected(FileField) Then intFileLength = FileField.PostedFile.ContentLength ReDim bytData(intFileLength) objStream = FileField.PostedFile.InputStream objStream.Read(bytData, 0, intFileLength) Return bytData End If End Function Public Function FileFieldType(ByVal FileField As _ System.Web.UI.HtmlControls.HtmlInputFile) As String ' Returns the type of the posted file If Not FileField.PostedFile Is Nothing Then _ Return FileField.PostedFile.ContentType End Function Public Function FileFieldLength(ByVal FileField As _ System.Web.UI.HtmlControls.HtmlInputFile) As Integer ' Returns the length of the posted file If Not FileField.PostedFile Is Nothing Then _ Return FileField.PostedFile.ContentLength End Function Public Function FileFieldFilename(ByVal FileField As _ System.Web.UI.HtmlControls.HtmlInputFile) As String ' Returns the core filename of the posted file If Not FileField.PostedFile Is Nothing Then _ Return Replace(FileField.PostedFile.FileName, _ StrReverse(Mid(StrReverse(FileField.PostedFile.FileName), _ InStr(1, StrReverse(FileField.PostedFile.FileName), ""))), "") End Function Sorted! One question remains, however. Once you’ve got a file inside a database, how do you serve it back up to a user? First, get the data back out of SQL Server using regular ADO.NET code. After that? Well, here’s a handy function that’ll do all the hard work for you. Simply pass the data from your table fields and hey presto:Public Sub DeliverFile(ByVal Page As System.Web.UI.Page, _ ByVal Data() As Byte, ByVal Type As String, _ ByVal Length As Integer, _ Optional ByVal DownloadFileName As String = "") ' Delivers a file, such as an image or PDF file, ' back through the Response object ' Sample usage from within an ASP.NET page: ' - DeliverFile(Me, bytFile(), strType, intLength, "MyImage.bmp") With Page.Response .Clear() .ContentType = Type If DownloadFileName <> "" Then Page.Response.AddHeader("content-disposition", _ "filename=" & DownloadFileName) End If .OutputStream.Write(Data, 0, Length) .End() End With End Sub Simply pass your byte array, file type, and length, and it’ll send it straight down to your surfer. If it’s an image, it’ll be displayed in the browser window. If it’s a regular file, you’ll be prompted for download.If it’s made available for download, this function also allows you to specify a suggested download file name, a technique that many ASP.NET developers spend weeks trying to figure out. Easy! Working with Uploaded Images Whether you’re building the simplest of photo album Web sites or a fully fledged content management system, the ability to work with uploaded images is a vital one, and with ASP.NET, it’s a real doddle.The following code snippet shows you how, by example. It takes a data stream from the File Field control and converts it into an image object, adding simple error handling should the uploaded file not actually be an image. The code then uses this image object to extract a few core details about the file, from its dimensions to file type:' Get data into image format Dim objStream As System.IO.Stream = _ MyFileField.PostedFile.InputStream Dim objImage As System.Drawing.Image Try ' Get the image stream objImage = System.Drawing.Image.FromStream(objStream) Catch ' This is not an image, exit the method (presuming code is in one!) Exit Sub End Try ' Filename Dim strOriginalFilename As String = MyFileField.PostedFile.FileName ' Type of image Dim strImageType If objImage.RawFormat.Equals(objImage.RawFormat.Gif) Then strImageType = "This is a GIF image" ElseIf objImage.RawFormat.Equals(objImage.RawFormat.Bmp) Then strImageType = "This is a Bitmap image" ElseIf objImage.RawFormat.Equals(objImage.RawFormat.Jpeg) Then strImageType = "This is a JPEG image" ElseIf objImage.RawFormat.Equals(objImage.RawFormat.Icon) Then strImageType = "This is an icon file" ElseIf objImage.RawFormat.Equals(objImage.RawFormat.Tiff) Then strImageType = "This is a TIFF file" Else strImageType = "Other" End If ' Dimensions Dim strDimensions As String strDimensions = "Width in pixels: " & objImage.Width & _ ", Height in pixels: " & objImage.Height ' Send raw output to browser Response.Clear() Response.Write(strOriginalFilename & "<p>" & strImageType & _ "<p>" & strDimensions) Response.End() "For some reason the retrieval code isnt working for me..Can anyone provide any help? even if it means using another method?
I am using asp.net+sql server 2000 to upload a image to database.the wired thing is, if I upload images from some folder like my documents/my pictures, the error message like 'String or binary data would be truncated' will be there and fail to upload. but I move those images to another folder like c: emp and then upload again, it works fine. any ideas? thanks a lot.
Does anyone know how can I insert image file into SQL Server table…? How can I display image field using SQL Server command like Photo on Northwind database…?
SQL Server 2008 on its way. 2005 should be standard. But sometimes you have SQL Server 2000. How can I upload an image into the SQL Server 2000 with an T-SQL Statement?
In SQL Server 2005 I would write something like this: Code Snippet INSERT INTO ReportingImages (Name, Img) SELECT 'UploadTest', BulkColumn FROM OPENROWSET( Bulk 'C:ds9.png', SINGLE_BLOB) AS BLOB
That doesnt work under 2000.
What about uploading to the SQL Server 2000 and an Image-Datatype?
Is it even possible in T-SQL without a Web-Service or C#/VB-written tool?
------------------------------- Update: Thank you all for your answers. We'll use a tool then.
for example : there is a bitmap file in my harddisk "c:a.bmp". How can I upload it to the db with the field "image" via mssql command, my DB is mssql database.
I am trying to save an uploaded image and its associated info to sql server database using a stored procedure but keep getting trouble. When trying to save, the RowAffected always return -1. but when i debug it, I dont' see problem both from stored procedure server explore and codebehind. it looks to me every input param contains correct value(such as the uploaded image file name, contentType and etc). well, for the imgbin its input param value returns something like "byte[] imgbin={Length=516}". Below is my code, could anyone help to point out what did I do wrong? Thank you.
Can someone please direct me to a discussion on which version of SQL Server allows a file to be stored in a db field and how this is accomplished as well as how the file is then retrieved with asp.net VB from the DBthanksMilton
I have image type col.I'm trying to do the following,DECLARE @Data varbinary(16)SET @Data = (select imageCol from Table1 where id=3)As image datatype returns varbinary value, so I want to store image col value to a varbinary variable(or any other type variable, eg., varchar). But getting following error,========================================Server: Msg 279, Level 16, State 3, Line 2The text, ntext, and image data types are invalid in this subquery or aggregate expression.========================================Is there anyway to store image datatype value to a variable?Cheers.