Web Forms :: How To Read Files From Directories Outside The Application
Feb 4, 2010
i have different number of directories containing files and i need to have hyperlinks so that user can download files to their ends. problem is that these directories are outside the application directory. how to map these files paths and name so that when user right click and save it on his machine or just clicking it..... what i have to do beside setting permission to reading those directories..
My ASP.NET application logs transactions (both inside AND outside of databases), and therefore needs read/write access to text files within various directories within the root of the website - in ADDITION to the normal database access.
In this scenario, how can I safely allow my ASP.NET application to write data to the web folders? I have a thread-safe DLL that performs the actual work, so I don't believe I need to worry about multiple sessions writing to the log files at the exact same time - assuming my DLL will only be running in a single instance/process that will be shared between numerous ASP.NET instances/processes/threads.
But I'm more concerned about file access permissions. I've heard that ASP.NET applications generally aren't allowed access to the webserver's local file system, and that this may even restrict my DLL from getting the correct file access. Can I grant my application file-access to the web-driectories?
This is in class file Imports Microsoft.VisualBasic Imports System.IO Imports System.Collections.Generic Public Class FileSrch '' File Search Options Public Enum FileSearchOptions YearFirst MonthFirst DateinExtension NormalFiles End Enum Public Shared Function GetSearchcriteria(ByVal DatetoSearchwith As Date, ByVal Filename As String, ByVal FileExtension As String, ByVal SearchOptions As FileSearchOptions) Select Case SearchOptions Case FileSearchOptions.YearFirst Return String.Format("{0}_{1:yyyyMMdd}{2}", Filename, DatetoSearchwith, FileExtension) Exit Select Case FileSearchOptions.MonthFirst Return String.Format("{0}_{1:yyyyMMdd}{2}", Filename, DatetoSearchwith, FileExtension) Exit Select Case FileSearchOptions.NormalFiles Return String.Format(Filename + FileExtension) Case FileSearchOptions.DateinExtension Dim ExtensionFormat As String = (Convert.ToInt32(DatetoSearchwith.ToString("mm")).ToString() & DatetoSearchwith.ToString("dd")) '' Month in Double Digit If DatetoSearchwith.Month > 9 Then ExtensionFormat = (DatetoSearchwith.ToString("mmm")(0) & DatetoSearchwith.ToString("dd")) End If Return String.Format("{0}.{1}", Filename, ExtensionFormat) Case Else Return String.Format("{0}.{1}", Filename, FileExtension) End Select End Function Public Shared Function GetFiles(ByVal RootDirectory As DirectoryInfo, ByVal Filename As String, ByVal FileExtension As String, ByVal DatetoSearchwith As Date) As List(Of FileInfo) Dim FiFiles As New List(Of FileInfo) For Each DateOption As FileSrch.FileSearchOptions In [Enum].GetValues(GetType(FileSrch.FileSearchOptions)) FiFiles.AddRange(RootDirectory.GetFiles(FileSrch.GetSearchcriteria(DatetoSearchwith, Filename, FileExtension, DateOption), SearchOption.AllDirectories)) Next Return FiFiles End Function End Class This in Button Click Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim FileName As String ' Dim fileName As String = txtextension.Text.Trim().Substring(0, txtextension.Text.Trim().IndexOf(".")) If txtextension.Text.Contains("_") Then FileName = txtextension.Text.Trim().Substring(0, txtextension.Text.Trim().IndexOf("_")) Else FileName = txtextension.Text.Trim().Substring(0, txtextension.Text.Trim().IndexOf(".")) End If Dim extensionToSearch As String = Path.GetExtension(txtextension.Text) 'Dim Directory As String = Path.GetDirectoryName(txtpath.Text.Trim()) Dim Directory As New DirectoryInfo(txtpath.Text.Trim()) 'Dim filess As String() = Directory.GetFiles(txtpath.Text, txtextension.Text, SearchOption.AllDirectories) 'For Each fiFile As String In filess ' Response.Write(fiFile & "</br>") 'Next Dim SearchedFiles As List(Of FileInfo) = FileSrch.GetFiles(Directory, fileName, extensionToSearch, Now.Date()) 'Dim searchedFiles As List(Of FileInfo) = GlobalStuff.GetFiles(directoryToSearch, "whateverfilename", extensionToSearch, DateTime.Now) If (SearchedFiles IsNot Nothing AndAlso SearchedFiles.Count > 0) Then For Each fi As FileInfo In SearchedFiles Response.Write(fi.Name & "</br>") Next Else Response.Write("No files found") End If End Sub
Now,we need to address the following things in that to complete req, 1) If I enter filename_mmddyyyy.txt it should fetch only files having current date in their name in mmddyyyy format.For eg. If I give test_mmddyyyy.txt in txtextension it should return only files with test_10222010.txt and not thee ones with yyyymmdd and all...Right now I am getting all the files created in the current date including the one with ordinary test.txt and also test_20101022.txt .......And the third thing filename.mdd everything is getting passed correctly but it is not fetching the file ..Again test,test_20101022.txt everything comes.It shouldn't be like that it should only fetch files with .mdd (current date)....
In my above code i have two text boxes one for file path and other one for getting extension and also for gettting file names with diff search criteria.....What i do is i should implement file search which is like as mentioned below -
1) it should search for all files if i enter *.*,only jpg if *.jpg, and files like nks.txt if i enter ?
2) if i enter the filename alone without extn it should return me filenames that exist without extension in directories. 3) the final thing is the date in filename where my file will be like filename_mmddyyyy.txt or filename_yyyymmdd.txt or filename.mdd.In first case it should return only files with current date in mmddyyyy format and txt extn....like taht....last case is mdd in extn...
where if i enter filename.123,it sould get me files with jan 23(23 currnt date) and for months greater than 9 it is N for nov ,D for dec and so on.But in m,ytext box i will enter only file.mdd only .and also filename_mmddyyyy.jpg like that....
I need to setup a file handler to route with multiple sub directories something like tihs;
http://localhost/images/7/99/786936215595.jpg
I tried putting this in the global.asax file;
routes.Add( "ImageRoute", new Route("covers/{filepath}/{filename}", new ImageRouteHandler()));
I am using the ImageHandler found in this Question, which works great if you have a single sub-directory (ie '/images/15/786936215595.jpg') but fails when you have multiple directories.
I tried setting up a wildcard and that didnt work (ie 'new Route("covers/{filepath}/*/{filename}"')
This is serving images from a large NAS (think something like 3 million images) so its not like I can just move files around.
I have this code and I'm getting an IOException and can't figure out what the problem is. I'm trying to loop through the subdirectories in a directory and list all of the .JPG files.
We have a web portal product from which we customize portals from customers. We use the precompiled web app and create a virtual directory (vd) where the customization resides. In addition to this we do some changes web.config in the web app folder. We would obviously like to keep these customizations under TFS source control.
When I try to add the precompiled web app (which I don't want to add to source control), a warning tells me that the vds cannot be added. If I only add the folder that is referenced to by the vd, I lose the references to assemblies in the precompiled web app.
My questions are:
How do I structure a solution for adding IIS (sub application level) virtual directories and still retain the references to assemblies? Is it possible to add other directories/files from the web application level (like App_Theme, web.config etc.) to the solution?
Since we already use Visual Source Safe, we have established a tree structure for each customization project:
Project Root | |-Custom Sql | |-Custom Portal Files (which is added as a virtual directory) | |-Other Customizations
I could probably do a lot of this manually through the source control explorer, but I'd like to have everything done through a solution.
I've followed the instructions using this article: [URL], but this doesn't address the exact problem that I have. Oh, and we are currently using Visual Source Safe for portal customizaton, but are eager to make the move to TFS.
We're having the same setup and receiving the same problem as:
[URL]
Setup Server 2003 32bit, IIS 6 ASP.NET wild card mapping
A virtual directory mapped to an UNC share serving static images for a CMS in a load balancing environment
My question if it's possible to turn off asp.net from virtual and only serve static files e.g. images in the virtual directory, to avoid the problem with too many open connections?
If it's not possible I'll guess I have to implement a solution like [URL] to server the files from a local disc.
I found a possible solution at [URL] that removes the wild card mapping and makes it possible to turn of execution of asp.net files.
I'm trying to enumerate the directories and sub directories in a Windows Form using a Tree View. I can view the directories but when I want to see the files in the sub directories I only see the files from the root.
I wanna serve my application in ISS to be accessed from many different URL's on my web server.
eg.
http://example.com/test1 http://example.com/test2
Both these URL's get served by the same application.
I do NOT however want to just create new virtual applications to the application, because it stuffs up the user membership roles. The users and their roles must exist accross the two URL's.
I have a bigger ASP.NET based webapplication, which is structured into subwebs (as described on [URL]How can I share user specific information (user credentials, other informations) between these subwebs? The point is that the subwebs have all their own virtual directories and therefore different sessions. Are there other possibilities besides cookies to have a shared (user/browser session based) memory?
we want all these requests to point back to www.site.com and not have to physically create the files and directories for every type of site... so if I just create a virtual directory (www.site.com/india) and point it to www.site.com... then I figure I can look at the URL and set some parameters/text/images accordingly to fill out the template
I've created a page that can list Directories and Files but when you click on the file link it posts back to the main page for some reason. If you can point me in the right direction....let me know.
We have an ASP.NET 3.5 Web application in which we have faced the below issue:
The application is working fine but suddently at one point application URL prompts for the authentication. When we (the support team) checked the server, we were able to identify that the access was denied for some of the main files (like web.config, default page). When we enabled the access the application started working fine.
Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "MessagesResource.resources" was correctly embedded or linked into assembly "App_Web_eerdggo8" at compile time, or that all the satellite assemblies required are loadable and fully signed.
in my system folder(E:\santhu) i have flat files(.txt and .doc ) .my problem is how to read those files automatically one by one and store the data(records) in to database?
I'm trying to add functionality to a simple web service that will allow me to log information to an XML file on the hard drive where the application is located. When I employ the functionality in a Console version of the application, the data gets logged to:binx86Debug MySolution.MyProjectMessageLogTestMessagess.xml. However, when I try to write read from or write to the XML file in the ASP.NET application, I get a System.UnauthorizedAccessException with the message: Accees to the path 'MessageLog' is denied.I would like the log file to appear in the in folder of the application directory, so what settings in IIS or on the server itself would I need to change to allow my application to read from and write to that folder?
i'm trying to read an excel file and get data on a row by row basis. Since after converting the pdf file into an excel file, the formatting went a bit haywire but if read row by row, i'm still able to retrieve the original data.
As I am unable to generate the excel file using a single worksheet, i have multiple sheets in the excel file. I also need help on reading multiple sheets.
Currently i am onli able to get data via columns but due to the formatting going haywire, i gave up on it.
if it is possible to read data from a CD and load multiple files from it without actually having to browse for each one through an ASP page. I searched the web and all I can come with is to set however many number of file upload controls onto a page and upload each file individually whereas I am looking to search a directory and upload all files with a certain extension with only one file upload control.
is this c# code intended to read local client files?System.IO.FileStream content = System.IO.File.Open("c: est.txt", System.IO.FileMode.Open);It gives me error FILE NOT FOUND
Is it possible to read an .aspx-file from the filesystem, probably translate it into the Page-object and then render it into HTML? And then writing it back to the filesystem as a .html file.
The .aspx file on the filesystem is without the codebehind file. If possible provide me some example code.