Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Check to see if a file exists on a virtual directory across the internet

Posted on 2010-09-21
7
Medium Priority
?
2,149 Views
Last Modified: 2013-11-11
I am trying to check if a file exists in a virtual directory.  I tried File.Exists but it always returns false.  I am trying to see if the file exists so I can turn a control on or off.  

I am using IIS 6.0, VS 2008.  

I have attached a sample of my code below.
www.awebsite.com/billimages is defined as a virtual directory in IIS as an application.
I tried it with "Read" and "Directory Browsing" turned on.
DocPath = "http://www.awebsite.com/billimages/<dir>/<YYYYMM>/filename.pdf"

If File.Exists(DocPath) Then
                Me.GetFBPdf.commandname = docpath
                Me.GetFBPDF.Text = "View the FB Docs"
                Me.GetFBPDF.Visible = True
                FBFile = True
            Else
                Me.GetFBPDF.Visible = False
                FBFile = False
            End If

Open in new window

0
Comment
Question by:mkacos
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
7 Comments
 
LVL 3

Expert Comment

by:_bmendoza
ID: 33729775
do you know the physical directory of the file?
if yes please try something like.
DocPath = "C:\Inetpub\wwwroot\<dir>\<YYYYMM>\filename.pdf"
0
 
LVL 5

Accepted Solution

by:
ina_don earned 2000 total points
ID: 33730865
If you are attempting to do this over the internet then the best thing is to attempt to download the file. A few example projects exist online that can act as a guide

http://www.vbdotnetheaven.com/UploadFile/bfarley/FileDownload04182005043858AM/FileDownload.aspx
http://www.vbforums.com/showthread.php?t=396260
http://blogs.techrepublic.com.com/programming-and-development/?p=695

I'm pressed for time to try knock together the code but you should get the direction...
0
 
LVL 1

Author Comment

by:mkacos
ID: 33734597
bmendoza - The actual path is not available to the user since it is being accessed through the web.

0
Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

 
LVL 1

Author Comment

by:mkacos
ID: 33734641
Ina_Don

Almost works.  Actually, it works great on my developpment computer but fails on the web site.  No, it does not fail I just need to find out where I can write a file on the end users computer.    I hard coded c:\windows\temp but I do not believe my application can write to the end users file system.

I am looking for a folder I can create then delete the temp file.  Any suggestions?
' Attempt a download to see if the file exists ****************
            DocPath = "http://www.AWebSite.com/BillImages/" & Carrier & "/" & format(Shipdate, "yyyyMM") & "/" & PRO & ".pdf"
            Dim FileisThere As Boolean = False

            Dim imageAddress As String = String.Empty
            Dim filename As String = String.Empty
            Try
                Dim fileReader As New WebClient()
                imageAddress = DocPath
                filename = format(Date.now, "MMddhhss") & ".tmp"
                If Not (System.IO.File.Exists("c:\windows\web\" + filename)) Then
                    fileReader.DownloadFile(imageAddress, "c:\" + filename)
                End If
                System.io.file.delete("c:\windows\temp\" + filename)
                Fileisthere = True
            Catch ex As HttpListenerException
                Fileisthere = False
            Catch ex As Exception
                Fileisthere = False
            End Try

Open in new window

0
 
LVL 1

Author Closing Comment

by:mkacos
ID: 33734995
I had to add  Dim foldername As String
        Dim fs
        fs = Server.CreateObject"Scripting.FileSystemObject")
 foldername = fs.GetSpecialFolder(2).path
  fs = Nothing
to get it to find the tem path but it worked.
0
 
LVL 5

Expert Comment

by:ina_don
ID: 33742067
So are you alright now. I didn't have a chance to respond and I see you have already responded to the problem yourself!!?
0
 
LVL 1

Author Comment

by:mkacos
ID: 33743645
Yes, your response was very helpful.  Thanks
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
Remote Apps is a feature in server 2008 which allows users to run applications off Remote Desktop Servers without having to log into them to run the applications.  The user can either have a desktop shortcut installed or go through the web portal to…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
This course is ideal for IT System Administrators working with VMware vSphere and its associated products in their company infrastructure. This course teaches you how to install and maintain this virtualization technology to store data, prevent vuln…
Suggested Courses

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question