Web Forms :: Implement The SQL Filestream Feature ?
Jul 13, 2010
I'm trying to implement the SQL Filestream feature so that I can store the physical PDF on hard disk, while still allowing full-text searching. I've set up my database to allow filestreaming, and as far as I know, have made the table correctly (I set it up based on this article: http://msdn.microsoft.com/en-us/library/cc949109(SQL.100).aspx). I'm just a bit confused about how it's supposed to work, and what steps I need to manually perform.
My understanding is that I convert the PDF to binary and store the binary data in the varbinary(max) field designated as the "Filestream" field, and once the data is stored, the physical PDF file will automatically be placed in the directory I specified when I set up the Filestream option in SQL server. I can also store the file name and extension for retrieval purposes, but the file must be streamed, rather than accessed directly. Is this all true?
What's currently happening is that I save the binary data to the table, but nothing else happens - a file never shows up on the server. The only contents of the directory are two empty folders named: $FSLOG, and, 9953ffec-7c59-41ce-943d-98073853ba0d, and a HDR file named "filestream". Do I need to manually save the file to disk, in addition to saving the binary data?
i want to implement this feature in listview control which is bound to objectdatasource... and in on mouse over i have to show the data from database again. when you mouse over the linkbutton then div popup with contents...how to imlement with listview.
how to implement a filter feature like this? What Ajax or JQuery controls can be used for this (if any)?
Here is an example of how the UI might look like:
See the Exchange Management Console image:
[URL]
Here is the spec:
The ASP.NET page has a "Filter" component and a "Apply Filter" button. The "Filter" component consists of 4 UI controls as below:
1. A dropdown list with prepopulated values like "Name", "Department", "Building", "Email Address".
2. A dropdown list with four operators - "Equal", "Not Equal", "Like", and "Not Like"
3. This is a dynamic control. It could be a textbox or a dropdown list. If the user chooses "Name" from the first UI control, the third UI control will become a Textbox. If the user chooses "Department" from the first UI control, the third UI control will become a dropdown list with all departments within this company pre-populated.
4. A button with AND expression. If the user clicks this button, one more Filter component will be created.
One possible user case is like this:
ASP.NET: when the page is loaded, it displays one Filter component (3 UI controls and a AND button), a "Apply Filter" button, and an empty "Filter Result" data grid.
I've got a vb.net page that when a user clicks a button in a gridview, it copys the file (row seleted) in the gridview as "Label2" from the webserver to the users pc. (We had to setup a lot of security to get it so the webserver could copy to the users pc). I have that all working fine, but now, I'm trying to see if FileStream will then open the file that was just downloaded on the users PC. I'm not familiar with FileStream, and could use a little push in the right direction. (Disclaimer, yes I know downloading the file directly to the pc is a crazy thing to do, but it's a really long story. :-)
For the FileStream portion, I found this sample, but don't quite understand if I can incorporate it into my button click event. Here's the sample [URL]
On this site if you do too many clicks or post comments too fast or something like that you get redirected to the "are you a human" screen. Does anybody know how to do something similar?
I am working on voting application. In this application, I have to implement the feature to recieve the votes through mail and also from SMS and to add to the existing voting count. Can any body give me some samples or links to implement this feature.
i'm looking to implement a live helpdesk (chat) feature to an ASP website, something similar to LivePerson.
Would anyone be able to direct me towards firstly the required achitecture to help me understand what will be required to even develop such a feture and if at all possible some example code/solutions, if any exist ??
I have written a dynamic database driven, object oriented website with an administration frontend etc etc. I would like to add a feature where customers can save items as "favourites", without having to create an account and login, to come back to them later, but I dont know how exactly to go about doing this... I see three options:
Log favourites based on IP address and then change these to be logged against an account if the customer then creates an account; Force customers to create an account to be able to use this functionality; Log favourites based on IP address but give users the option to save their favourites under a name they specify.
The problem with option 1 is that I dont know much about IP addresses - my Dad thinks they are unique, but I know people have had problems with systems like this.
The problem with 1 and 2 is that accounts have not been opened up to customers yet - only administrators can log in at the moment. It should be easy to alter this (no more than a morning or afternoons work) but I would also have to implement usergroups too.
The problem with option 3 is that if user A saves a favourites list called "My Favourites", and then user B tries to save a list under this name and it is refused, user B will then be able to access the list saved by user A because they now know it already exists. A solution to this is to password protect lists, but to go to all this effort I may as well implement option 2.
I'm using a web form that allows users to upload media files. The code works great on small to medium size files, but I've found that if a file is really big(like bigger than 15MB), the user will get a 404 error. Currently I'm using the code below to handle the file. Does .NET provide another way to handle larger files?
I'm using Filestream for read big file (> 500 MB) and I get the OutOfMemoryException. Any solutions about it??
I want this in my app:
Read DATA from Oracle Uncompress file using FileStream and BZip2
Read file uncompressed and send it to asp.net page for download. When I read file from disk, Fails !!! and get OutOfMemory.
. My Code is:
using (var fs3 = new FileStream(filePath2, FileMode.Open, FileAccess.Read)) { byte[] b2 = ReadFully(fs3, 1024); } // http://www.yoda.arachsys.com/csharp/readbinary.html public static byte[] ReadFully(Stream stream, int initialLength) { // If we've been passed an unhelpful initial length, just // use 32K. if (initialLength < 1) { initialLength = 32768; } byte[] buffer = new byte[initialLength]; int read = 0; int chunk; while ((chunk = stream.Read(buffer, read, buffer.Length - read)) > 0) { read += chunk; // If we've reached the end of our buffer, check to see if there's // any more information if (read == buffer.Length) { int nextByte = stream.ReadByte(); // End of stream? If so, we're done if (nextByte == -1) { return buffer; }
// Nope. Resize the buffer, put in the byte we've just // read, and continue byte[] newBuffer = new byte[buffer.Length * 2]; Array.Copy(buffer, newBuffer, buffer.Length); newBuffer[read] = (byte)nextByte; buffer = newBuffer; read++; } } // Buffer is now too big. Shrink it. byte[] ret = new byte[read]; Array.Copy(buffer, ret, read); return ret; }
Below I have some code that I am using to give the user the option to save or open a file. However, for whatever reason, when it does this it appends everything that is in my .aspx page to the end of my file. I've no clue why this is happening or how to fix.
I am in process of sending the file along with HttpWebRequest. My file will be from FileUpload UI. Here i need to convert the File Upload to filestream to send the stream along with HttpWebRequest. How do i convert the FileUpload to a filestream?
I am trying to get a FileStream from a relative path. The file is in my project, but when I try to do that it automatically appends C:\ in front of that.
1. Does the FileStream only works if the file is on a local Hard Dive?
2. Also if it works from the local hard drive, then does my application needs some permission to read the file from C Drive?
What is the difference between :enable filestream for t-sql statement and enable filestream for file i/o streaming access in sql 2008 when and how both feature works?
I'm a little green when it comes to streaming and serialization...but what i wanna do is make the Upload method on the server return a serializable object to the client (it is void right now). I have a public class ServiceResult that i decorate with [Serializable], and a public class FileTransferService that implements IFileTransferService
[ServiceContract()] public interface IFileTransferService { [OperationContract(IsOneWay = false)] string Upload(FileTransferRequest request); } The implementation does its thing, and then at the end i create and serialize the object and try to return the string return ServiceResultSerializer.SerializeAnObject(result); On the client side i call this service using this class [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "IFileTransferService")] public interface IFileTransferService { // CODEGEN: Generating message contract since the wrapper name (FileTransferRequest) of message FileTransferRequest does not match the default value (Upload) [System.ServiceModel.OperationContractAttribute(IsOneWay = false, Action = "http://tempuri.org/IFileTransferService/Upload")] string Upload(FileTransferRequest request); }
I'm basically taking this project found on this blog: [URL] And trying to make it return a value that the client caller can use I get an error right now that says: The operation 'Upload' could not be loaded because it has a parameter or return type of type System.ServiceModel.Channels.Message or a type that has MessageContractAttribute and other parameters of different types. When using System.ServiceModel.Channels.Message or types with MessageContractAttribute, the method must not use any other types of parameters. Which i have no idea what it means :P I think cuz im trying to change the Service paramaters.
I have a class DocumentGenerator which wraps a MemoryStream. So I have implemented IDisposable on the class.
I can't see how/where I can possibly dispose it though.
This is my current code, which performs a file download in MVC:
using (DocumentGenerator dg = DocumentGenerator.OpenTemplate(path)) { /* some document manipulation with the DocumentGenerator goes here ...*/ return File(dg.GetDocumentStream(), "text/plain", filename); }
This errors as the stream is closed/disposed before the controller has finished with it. How can I make sure my resources are properly disposed in this situation?
EDIT: My implementation of IDisposable at the moment just disposes the MemoryStream. I know it's not a proper implementation, I just used it as a test. Is there something different I could do here to make it work?
public void Dispose() { _ms.Dispose(); _ms = null; }
I am storing files in SQL using FileStream from a ASP .NET app. I am also storing the filetypes.
I want to allow users to download (and open these files) to view them. I see a lot of code samples on how I can read data out of FileStream, and put it into a buffer in memory. I guess from there, I can write it out to a file.
But since the data is already in a file (SQL "Select myFileStreamColumn.FilePath()" returns it's location) can't I somehow put up a Save As... dialog for the user, and let them download it directly from the SQL storage area to their local PC?
Do I have to read the data out of SQL, write it out to a file, and then give them a Save As... dialog pointing to that new file?
I am creating an application like youtube to store videos and I need some advice.Should I use SQL Server FileStream to store the video files or should I store them somewhere on the hard disk and record the path as a varchar(MAX) inside SQL Server?Which is recommended and why?Do you recommend something else apart from both these?
I have a database containing a table with about 700,000 images so I recently enabled Filestream. However, I can't figure out how to render the images.
I have an Imagefield control within a Detailsview which is using an .aspx file to render the image through the DataImageUrlFormatString (which is typical). In my select statements I tried changing the binary field containing the image from objectdata to objectdata.PathName() per the Microsoft documentation but this does not work. I get the red X image box.