How To Upload Image To Sql Server Database?
Sep 1, 2005Is there method that an image file upload to sql server database? or transfer th link to database?
View 3 RepliesIs there method that an image file upload to sql server database? or transfer th link to database?
View 3 RepliesPlease help me... How can i upload image into my sql database in a basic way... thanks....
View 6 Replies View RelatedI 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");
}
}
protected void SqlDataSource3_Inserting(object sender, SqlDataSourceCommandEventArgs e)
{
FileUpload stateTextBox = (FileUpload)DetailsView1.Rows[2].Cells[0].Controls[1];
System.IO.Stream inputStream = stateTextBox.PostedFile.InputStream;
int imageLength = stateTextBox.PostedFile.ContentLength;
byte[] imageBinary = new byte[imageLength];
int inputRead = inputStream.Read(imageBinary, 0, imageLength);
byte[] imageData = imageBinary;
System.Data.SqlClient.SqlParameter uploadData = new System.Data.SqlClient.SqlParameter("@photo", System.Data.SqlDbType.Image);
uploadData.Value = imageData;
e.Command.Parameters.Add(uploadData);
}
protected void New_Click(object sender, EventArgs e)
{
DetailsView1.ChangeMode(DetailsViewMode.Insert);
}
}
*************************************ASPX page
<%@ Page Language="C#" MasterPageFile="~/MasterPages/MasterPage.master" AutoEventWireup="true" CodeFile="DetailsViewEdit_cs.aspx.cs" Inherits="html_Test_Default3" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<form id="form1" runat="server" method="post" enctype="multipart/form-data">
<asp:DetailsView DefaultMode="Edit" AutoGenerateRows="False" DataKeyNames="recID"
DataSourceID="SqlDataSource3" HeaderText="Edit Articles" ID="DetailsView1" runat="server"
Width="275px" OnItemUpdated="DetailsView1_ItemUpdated" OnModeChanging="DetailsView1_ModeChanging">
<Fields>
<asp:BoundField DataField="recID" HeaderText="Record Number" SortExpression="recID" ReadOnly="True" />
<asp:TemplateField SortExpression="LiveAccess" HeaderText="LiveAccess" >
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" AppendDataBoundItems="true" runat="server" DataSourceID="SqlDataSource3" DataTextField="LiveAccess" DataValueField="LiveAccess" SelectedValue='<%# Bind("LiveAccess") %>'>
<asp:ListItem Text="Yes" Value="Yes" />
<asp:ListItem Text="No" Value="No" />
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField SortExpression="DevelopmentAccess" HeaderText="DevelopmentAccess" >
<EditItemTemplate>
<asp:DropDownList ID="DropDownList2" AppendDataBoundItems="true" runat="server" DataSourceID="SqlDataSource3" DataTextField="DevelopmentAccess" DataValueField="DevelopmentAccess" SelectedValue='<%# Bind("DevelopmentAccess") %>'>
<asp:ListItem Text="Yes" Value="Yes" />
<asp:ListItem Text="No" Value="No" />
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField SortExpression="MediaAccess" HeaderText="MediaAccess" >
<EditItemTemplate>
<asp:DropDownList ID="DropDownList3" AppendDataBoundItems="true" runat="server" DataSourceID="SqlDataSource3" DataTextField="MediaAccess" DataValueField="MediaAccess" SelectedValue='<%# Bind("MediaAccess") %>'>
<asp:ListItem Text="Yes" Value="Yes" />
<asp:ListItem Text="No" Value="No" />
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField SortExpression="DoctorAccess" HeaderText="DoctorAccess" >
<EditItemTemplate>
<asp:DropDownList ID="DropDownList4" AppendDataBoundItems="true" runat="server" DataSourceID="SqlDataSource3" DataTextField="DoctorAccess" DataValueField="DoctorAccess" SelectedValue='<%# Bind("DoctorAccess") %>'>
<asp:ListItem Text="Yes" Value="Yes" />
<asp:ListItem Text="No" Value="No" />
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField SortExpression="DealerAccess" HeaderText="DealerAccess" >
<EditItemTemplate>
<asp:DropDownList ID="DropDownList5" AppendDataBoundItems="true" runat="server" DataSourceID="SqlDataSource3" DataTextField="DealerAccess" DataValueField="DealerAccess" SelectedValue='<%# Bind("DealerAccess") %>'>
<asp:ListItem Text="Yes" Value="Yes" />
<asp:ListItem Text="No" Value="No" />
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ContentType" HeaderText="ContentType" SortExpression="ContentType" />
<asp:BoundField DataField="ProductType" HeaderText="ProductType" SortExpression="ProductType" />
<asp:BoundField DataField="ReviewDate" HeaderText="ReviewDate" SortExpression="ReviewDate" />
<asp:BoundField DataField="ReleaseDate" HeaderText="ReleaseDate" SortExpression="ReleaseDate" />
<asp:BoundField DataField="ObsoleteDate" HeaderText="ObsoleteDate" SortExpression="ObsoleteDate" />
<asp:TemplateField HeaderText="Title">
<EditItemTemplate>
<asp:TextBox id="EditTitle" Text='<%# Bind("Title") %>' Runat="Server"
TextMode="SingleLine" Rows="1" Width="400px" Font-Size="9pt"/>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sub Title">
<EditItemTemplate>
<asp:TextBox id="EditSubtitle" Text='<%# Bind("Subtitle") %>' Runat="Server"
TextMode="SingleLine" Rows="1" Width="400px" Font-Size="9pt"/>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Copy">
<EditItemTemplate>
<asp:TextBox id="EditCopy" Text='<%# Bind("Copy") %>' Runat="Server"
TextMode="MultiLine" Rows="5" Width="400px" Font-Size="9pt"/>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Keywords">
<EditItemTemplate>
<asp:TextBox id="Keywords" Text='<%# Bind("Keywords") %>' Runat="Server"
TextMode="MultiLine" Rows="5" Width="400px" Font-Size="9pt"/>
</EditItemTemplate>
</asp:TemplateField>
<asp:ImageField DataImageUrlField="Picture"></asp:ImageField>
<asp:TemplateField HeaderText="Image">
<ItemTemplate>
<asp:FileUpload ID="FileUpload1" FileName='<%# Bind("Picture") %>' runat="server" />
<asp:RequiredFieldValidator ID="FileUploadValidator" ControlToValidate="FileUpload1" runat="Server">*</asp:RequiredFieldValidator>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Notes">
<EditItemTemplate>
<asp:TextBox id="EditNotes" Text='<%# Bind("Notes") %>' Runat="Server"
TextMode="MultiLine" Rows="5" Width="400px" Font-Size="9pt"/>
</EditItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="WriterName" HeaderText="WriterName" SortExpression="WriterName" />
<asp:BoundField DataField="WriterEmailAddress" HeaderText="WriterEmailAddress" SortExpression="WriterEmailAddress" />
<asp:BoundField DataField="Language" HeaderText="Language" SortExpression="Language" />
<asp:CommandField ShowEditButton="True" />
</Fields>
</asp:DetailsView>
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:myConnection %>"
SelectCommand="SELECT [recID], [Date], [LiveAccess], [DevelopmentAccess], [MediaAccess], [DoctorAccess], [DealerAccess], [ContentType], [ProductType], [Title], [Subtitle], [ReviewDate], [ReleaseDate], [ObsoleteDate], [Keywords], [Picture], [Copy], [Notes], [WriterName], [WriterEmailAddress], [Language] FROM [Articles] WHERE ([recID] = @recID)"
UpdateCommand="UPDATE [Articles] SET [LiveAccess]=@LiveAccess, [DevelopmentAccess]=@DevelopmentAccess, [MediaAccess]=@MediaAccess, [DoctorAccess]=@DoctorAccess, [DealerAccess]=@DealerAccess, [ContentType]=@ContentType, [ProductType]=@ProductType, [Title]=@Title, [Subtitle]=@Subtitle, [ReviewDate]=@ReviewDate, [ReleaseDate]=@ReleaseDate, [ObsoleteDate]=@ObsoleteDate, [Keywords]=@Keywords, [Picture]=@Picture, [Copy]=@Copy, [Notes]=@Notes, [WriterName]=@WriterName, [WriterEmailAddress]=@WriterEmailAddress, [Language]=@Language WHERE [recID] = @recID"
OnUpdating="SqlDataSource3_Inserting">
<SelectParameters>
<asp:QueryStringParameter Name="recID" QueryStringField="ID" Type="String" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="LiveAccess" Type="String"/>
<asp:Parameter Name="DevelopmentAccess" Type="String" />
<asp:Parameter Name="MediaAccess" Type="String" />
<asp:Parameter Name="DoctorAccess" Type="String" />
<asp:Parameter Name="DealerAccess" Type="String" />
<asp:Parameter Name="ContentType" Type="String" />
<asp:Parameter Name="ProductType" Type="String" />
<asp:Parameter Name="Title" Type="String" />
<asp:Parameter Name="Subtitle" Type="String" />
<asp:Parameter Name="ReviewDate" Type="String" />
<asp:Parameter Name="ReleaseDate" Type="String" />
<asp:Parameter Name="ObsoleteDate" Type="String" />
<asp:Parameter Name="Keywords" Type="String" />
<asp:Parameter Name="Copy" Type="String" />
<asp:Parameter Name="Notes" Type="String" />
<asp:Parameter Name="WriterName" Type="String" />
<asp:Parameter Name="WriterEmailAddress" Type="String" />
<asp:Parameter Name="Language" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
</form>
</asp:Content>
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!!
View 2 Replies View RelatedI am using FileUpload method in tools box and i want to store the uploaded image into database.
but when debuging it will shows an error like: Operand type clash: sql_variant is incompatible with image
this is the code for "upload" button.Protected Sub uploadbtn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles uploadbtn.Click
If FileUpload1.HasFile Then
TryFileUpload1.SaveAs("C: emp" & FileUpload1.FileName)
Label1.Text = "File name: " & FileUpload1.PostedFile.FileName & "<br>" & "File Size: " & FileUpload1.PostedFile.ContentLength & "kb<br>" & "Content Type: " & FileUpload1.PostedFile.ContentTypeCatch ex As Exception
Label1.Text = "ERROR: " & ex.Message.ToString
End Try
Else
Label1.Text = "You have not specified a file"
End If
Try
SqlDataSource1.Insert()
Label2.Text = "picture is saved"Catch ex As Exception
Label2.Text = ex.Message.ToString
End Try
End Sub
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?
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,
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.
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
InsertToDatabase()
End If
End Sub
End class
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?
View 1 Replies View RelatedI 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.
Anyone have any luck using "Upload multiple files to SQL Server Image column"
www.databasejournal.com/features/mssql/article.php/3444771
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…?
Thanks
Sbahri
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 now using c# based project
thx
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.
================================================
CREATE PROCEDURE [dbo].[sp_SaveInfo]
(
@UserID varchar(12),
@Image_FileName nvarchar(50),
@Image_ContentType nvarchar(50),
@Image_ImageData image,
@Create_DateTime datetime)
AS
set nocount on
insert ExpertImage(UserID, Image_FileName, Image_ContentType, Image_ImageData, Image_ReceiveDateTime)
values(@UserID, @Image_FileName, @Image_ContentType, @Image_ImageData, @Create_DateTime)
GO
private void Submit1_ServerClick(object sender, System.EventArgs e)
{
if(Page.IsValid)
{
Stream imgStream = File1.PostedFile.InputStream;
int imgLen=File1.PostedFile.ContentLength;
string imgContentType = File1.PostedFile.ContentType;
string imgName = File1.PostedFile.FileName.Substring(File1.PostedFile.FileName.LastIndexOf("\") + 1);
byte[] imgBinaryData = new byte[imgLen];
int n=imgStream.Read(imgBinaryData, 0, imgLen);
int RowsAffected = SaveInfo(imgName,imgBinaryData, imgContentType);
if(RowsAffected > 0)
{
..
}
else
{
..
}
}
}
public int SaveInfo(string imgName, byte[] imgbin, string imgcontenttype)
{
SqlConnection objConn = new DSConnection().DbConn;
SqlCommand objCMD = new SqlCommand("sp_SaveInfo", objConn);
objCMD.CommandType = CommandType.StoredProcedure;
objCMD.Parameters.Add("@UserID", SqlDbType.VarChar, 12);
objCMD.Parameters["@UserID"].Value = txtMemberID.Text.ToString();
objCMD.Parameters["@UserID"].Direction = ParameterDirection.Input;
objCMD.Parameters.Add("@Create_DateTime", SqlDbType.DateTime);
objCMD.Parameters["@Create_DateTime"].Value = DateTime.Now.ToLongTimeString();
objCMD.Parameters["@Create_DateTime"].Direction = ParameterDirection.Input;
objCMD.Parameters.Add("@Image_FileName", SqlDbType.NVarChar, 50);
objCMD.Parameters["@Image_FileName"].Value = imgName;
objCMD.Parameters["@Image_FileName"].Direction = ParameterDirection.Input;
objCMD.Parameters.Add("@Image_ContentType", SqlDbType.NVarChar, 50);
objCMD.Parameters["@Image_ContentType"].Value = imgcontenttype;
objCMD.Parameters["@Image_ContentType"].Direction = ParameterDirection.Input;
objCMD.Parameters.Add("@Image_ImageData", SqlDbType.Image);
objCMD.Parameters["@Image_ImageData"].Value = imgbin;
objCMD.Parameters["@Image_ImageData"].Direction = ParameterDirection.Input;
int numRowsAffected = objCMD.ExecuteNonQuery();
return numRowsAffected;
}
Okay, I am still really new at this so nobody laugh if this seems simple stupid. I created a little web page and while working on the project created a new database by right clicking on my app and clicking "Add New item" then choosing SQL Database. I added tables and everything was working just dandy on my machine. I FTP'd the files up to my web server and am now getting an error. SQL is installed on the server, but I have a couple of questions.1. Does SQL have to be installed on the server if you create one of these databases by doing the Add New Item button?2. After Uploading it to a server with SQL installed, the database shows in my App Data folder, but gives me an error. What needs done to move this database to the server besides uploading it?Here is my error:An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
View 11 Replies View RelatedHello everyone,
I've got a simple yet concerning problem. How do I get the MSDE database I've created off my PC and onto the web server? I've thought of doing a "BACKUP DATABASE dbname TO DISK = 'blah,blah'", then upload it and hope I have permissions to execute a DATABASE RESTORE... Any other methods?
I have a database on my local system and I use Sql Server 2005 express. Now I need to upload the database in the hosting server. I have tried Management Studio Express.
View 1 Replies View RelatedMy hosting gives me ASP.NET 2.0 and a shared SQL Server 2005 package.
I have Visual Studio 2005 on my machine - which installs SQL Server 2005 Express. I have also installed SQL Server 2005 Management Studio Express.
I wish to develop my database locally (mdf file) as I won't always have internet access (and therefore can't always work directly with the remote shared database).
My question is, how do I upload my database info from my local machine to my remote shared database?
Also I shall wish to download my remote database to my local machine in order to work on the database (and then be able to re-upload it) sometimes.
Please can somebody tell me how I can do this?
Will SQL Server 2005 Management Studio Express permit me to do this and if so how?
If I need the full version of SQL Server 2005 Management Studio then I do have SQL Server 2005 and this install with it (but it all looks a bit complicated to install for me).
Many thanks for all help given,
Graham
Hi,
I have a website and i am uploading the gif image to the database. i have used varchar(500) as the datatype and i am saving the file in the webserver so the path to it c:intepub....a.gif
my upload table has the folliwing feilds
UploadId Int Identity, Description, FileName, DiskPath varchar(500), weblocation varchar(500). I have a main sproc for the report where i am doing a inner join with other table to get the path of the gif..
So my question is how can i get a picture to show up on the report. .
What kinda datatype the gif file should be stored in the database? If it is stored as a varchar how can i access it and what is best way to reference that particular.
any help will appreciated....
Regards
Karen
Hi all,
I have a field in the SQL Server database, with 'Image' ad field type.
How can I add a jpeg fiel to it so that I can view it and also access it through a program?
Thanks
Tomy
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 ...
Is there any way of storing an image file into a specific Table .It would be of great help for me if i come to know something about it.
View 2 Replies View Related
Hello,
Im using the same DB used in northwindoledb example, i need a similar app but in C#, not C++, so i use this DB and make a form for Pocket PC 2003 SE Emulator in Vista (device application) with visual studio 2005, i use a function to recover the image and display in a PictureBox but when this image create a BitMap give me an error "Value does not fall within the expected range.", i seek a lot in internet and don't find a solution, the function is:
public static Image Bytes2Image(byte[] bytes)
{
if (bytes == null) return null;
MemoryStream ms = new MemoryStream(bytes,0,bytes.Length );
Bitmap bm = null;
ms.Read(bytes, 0, bytes.Length);
bm = new Bitmap(ms);
return bm;
}
If someone can help me i will appreciatte
hi,
i m use asp.net 1.1.
i want to retrive image or picture from sql server 2000 database.
what should i do?
plz give "sample code" and solution.
it's urgent.
thanks in advance
can anyone out there help me to solve this problem???
how to load image to and retrieve from database(sql server)??
thanks alot
cyndie
Dim con As New SqlConnection(ConfigurationSettings.AppSettings("con"))
con.Open()
Dim info= "this is a des."
Dim fs As New FileStream _
("C:Inetpubwwwrootimages est.jpeg", FileMode.OpenOrCreate, _
FileAccess.Read)
lblInfo.Text = "filestream created"
strInsert = "INSERT INTO image ( image, text ) VALUES ( 'fs' ,'" & info& "');"
lblInfo.Text = "Insert complete"
cmdInsert = New SqlCommand(strInsert, con)
cmdInsert.ExecuteNonQuery()
con.Close()
- Why is'nt the image inserted, only the text / info?
How can I read an Image which is in the MSSQL Server database?
View 2 Replies View RelatedI am using the 3-tiered architecture design (presentation, business laws, and data acess layers). I am stuck on how to send the image the user selects in the upload file control to the BLL and then to the DAL because the DAL does all the inserts into the database. I would like to be able to check the file type in the BLL to make sure the file being uploaded is indeed a picture. Is there a way I can send the location of the file to the BLL, check the filetype, then upload the file and have the DAL insert the image into the database? I have seen examples where people use streams to upload the file directly from their presentation layer, but I would like to keep everything seperated in the three classes if possible. I also wasn't sure what variable type the image would be in the function in the BLL that receive the image from the PL. If there are any examples or tips anyone can give me that would be appreciated.
View 2 Replies View RelatedI have a database called 'objects' with one of its fields called 'Image' (data type is set to image) and a file in my desk top labelled as 'Pictures' (this is where all my pictures are keep). At run time i want to be able to select and add (upload) my preferred picture to the image filed of different records. Could you please advice me what i should do?
View 9 Replies View Relatedhi 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
Thanx Taryn
Hello,
I would like integrate images from a folder in my computer into SQL Server 2000.
It's bmp, jpg or gif images.
But I don't know how integrate them.
With script compenent in a dataflow?
Can you give a example please
Regards
I am rewritting our DTS that upload tables in FoxPro to SQL Server using SSIS. I am finding the that SSIS is way slower. My uploads using DTS take just 7 minutes where doing the same thing in SSIS is taking 1 hour 15 minutes.
View 2 Replies View Related