Solved

Use Windows FileOpen dialogue in ASP (preferably with VbScript)

Posted on 2007-03-26
15
300 Views
Last Modified: 2008-01-09
I need to have a page (.ASP) that allows the user to use the standard Windows dialogue to select one or more files from their drives.

I have seen snippets of code to do this, but I haven't seen a complete example, and the snippets don't work (or I haven't been able to implement them successfully).

Can someone please post an example that will display the FileOpen dialogue when a button is pressed, and return one or more filepaths as a result.

I would prefer VbScript for this, however JavaScript would be acceptable as well.
           thanks,
                     PvBredow
0
Comment
Question by:PvBredow
  • 4
  • 4
  • 2
  • +1
15 Comments
 
LVL 12

Accepted Solution

by:
Sinoj Sebastian earned 168 total points
ID: 18792026
You mean File Field?
<INPUT id="File1" type="file" name="File1">
0
 
LVL 12

Expert Comment

by:Sinoj Sebastian
ID: 18792037
>I have seen snippets of code to do this
can we have it?
0
 
LVL 25

Expert Comment

by:kevp75
ID: 18792574
I haven't seen it with vbScript, however Ihave with Javascript....

http://the-stickman.com/web-development/javascript/upload-multiple-files-with-a-single-file-element/
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 

Author Comment

by:PvBredow
ID: 18797116
Thanks for the replies.

<INPUT id="File1" type="file" name="File1">
is very CLOSE to what I am looking for, except for the (apparent) limitation that unlike the Windows Dialogue, it does NOT allow the user to select multiple files.        In my application, it is probable that many files would need to be selected, and although they would all be from the same directory, not all files in that directory could be selected.

           PvBredow
0
 
LVL 25

Expert Comment

by:kevp75
ID: 18797158
have a look at the link I posted.  I tried it, and it works.

I also use a (similar) method.  Minor exceptions though, what I do is force the client to selct the number of files they want to upload from a drop-down.  Once selected, that # of file fields appear (magically) on the page allowing them to browse for the files.  Problem is, they can only browse one at a time...

Very effective though, gives me great control over the number of files a client can upload....I mean, who really wants some yahoo coming to their site and trying to upload 140,000 files through one dialoge...
0
 

Author Comment

by:PvBredow
ID: 18798259
Thanks Kevp75.        

Am I mistaken in thinking that the actual windows dialogue can be called (as an ActiveX object)?  

Although I see the usefulness of the method you are suggesting, I would still prefer not to require the user to need to input the number of files they want to upload.        I have used the windows dialogue in VBA applications, and I am feeling a bit stubborn about trying to find a solution that works for multiple files in a single selection.

0
 
LVL 25

Expert Comment

by:kevp75
ID: 18799557
Have you gotten a chance to check out that link?
0
 

Author Comment

by:PvBredow
ID: 18806609
Yes, I have looked at the example link you sent.       I think that method would be useful on a small scale, but in my application the scale may not always be small.

Essentially, my application is a document repository for use in a company.     I need to give users a simple way to 'enrol' files in the system.      As all files are on the same LAN, I don't really need to upload them, but I do need to make a reference of their addresses.        In the long run, files are likely be to added a few at a time, but as the system is being rolled out, users are likely to want to add large numbers of files, although not necessarily all in a directory.         This is why I am determined to try to pursue the idea of something like the windows fileopen dialogue, which allows mutliple file selection with click, shift-click, or control-click.

Still, thanks for the suggestion.
0
 
LVL 25

Assisted Solution

by:kevp75
kevp75 earned 166 total points
ID: 18807576
0
 

Author Comment

by:PvBredow
ID: 18922974
I haven't found a suitable solution yet.       If there are no further suggestions, I will leave my application as it is, and simply force all files to be selected one at a time.

Thanks for the suggestions.
0
 
LVL 65

Assisted Solution

by:RobSampson
RobSampson earned 166 total points
ID: 19125113
I have used the Windows Common Dialog in an HTA application using VBScript.  Here is the code:
Const intForReading = 1

Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "Text Files (*.txt,*.log)|*.txt;*.log|All Files (*.*)|*.*"
objDialog.FilterIndex = 1
objDialog.InitialDir = "."
intResult = objDialog.ShowOpen

If intResult = 0 Then
    Exit Function
End If

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile (objDialog.FileName, intForReading)
Do Until objFile.AtEndOfStream
    strSingleLine = objFile.ReadLine
      ' Do some stuff with each line
Loop
objFile.Close

Set objFile = Nothing
Set objFSO = Nothing

I hope you find that useful for your application.

Regards,

Rob.
0
 
LVL 65

Expert Comment

by:RobSampson
ID: 19125117
I haven't tested if this allows multiple files to be selected at once however.....maybe I will in due time, but it may return them as an array, or a comma separated list....

Regards,

Rob.
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

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

Suggested Solutions

Batch, VBS, and scripts in general are incredibly useful for repetitive tasks.  Some tasks can take a while to complete and it can be annoying to check back only to discover that your script finished 5 minutes ago.  Some scripts may complete nearly …
Active Directory replication delay is the cause to many problems.  Here is a super easy script to force Active Directory replication to all sites with by using an elevated PowerShell command prompt, and a tool to verify your changes.
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

809 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