Use Windows FileOpen dialogue in ASP (preferably with VbScript)

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
PvBredowAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Sinoj SebastianCTO & OpenERP Project managerCommented:
You mean File Field?
<INPUT id="File1" type="file" name="File1">
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Sinoj SebastianCTO & OpenERP Project managerCommented:
>I have seen snippets of code to do this
can we have it?
0
kevp75Commented:
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
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

PvBredowAuthor Commented:
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
kevp75Commented:
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
PvBredowAuthor Commented:
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
kevp75Commented:
Have you gotten a chance to check out that link?
0
PvBredowAuthor Commented:
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
kevp75Commented:
0
PvBredowAuthor Commented:
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
RobSampsonCommented:
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
RobSampsonCommented:
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
JavaScript

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.