473,396 Members | 1,968 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Invoking a directory browse for file(s) download

As a "newbie" to Javascript I need some help with my latest problem...

I have a number of image files that have been pre-selected by the user
for downloading. I'd like to be able to have the user click a button
and have a directory browser pop-up window available for the user to
select the directory into which the image files will be downloaded.

I thought that this would be simple to find but...

If this is possible I further need to know:

1) how to access the directory path string (which will be used to
download the files)

2) how to set any available default values for the directory bvrowser.

I'd really appreciate anyone being able to point me in a direction.

TIA
Glenn
Jul 23 '05 #1
6 18905
On 20 Sep 2004 08:28:07 -0700, in comp.lang.javascript
go****@nixonpeabody.com (Glenn Owens) wrote:
| As a "newbie" to Javascript I need some help with my latest problem...
|
| I have a number of image files that have been pre-selected by the user
| for downloading. I'd like to be able to have the user click a button
| and have a directory browser pop-up window available for the user to
| select the directory into which the image files will be downloaded.
|
| I thought that this would be simple to find but...
|
| If this is possible I further need to know:
|
| 1) how to access the directory path string (which will be used to
| download the files)
|
| 2) how to set any available default values for the directory bvrowser.
|
| I'd really appreciate anyone being able to point me in a direction.


If I understand you correctly then there is no need for this.
If the user right mouse clicks the image then they can select Save As
from the context menu. This in-turn will ask the user for the location
to save the file to.
---------------------------------------------------------------
jn****@yourpantsbigpond.net.au : Remove your pants to reply
---------------------------------------------------------------
Jul 23 '05 #2
Not true. As I mentioned I need a way to download a number of image
files from a gallery-style image search engine to a directory
destination of the user's choosing. Selecting each image with a
right-click and specifying the directory would be unnecessarily
tedious for the user.

I did find a way to involk the BrowseForFolder activeX control through
Javascript out on MSDN. So, I implemented, and tested, the control and
that seems to be working well. Here's the Javascript that I'm using:

function GetDownloadPath() {
var frm = document.forms[0];
var Shell = new ActiveXObject("Shell.Application");
var Folder = new Object;

Folder = Shell.BrowseForFolder(0, "Choose a download folder", 0);

var FolderItem = new Object;
FolderItem = Folder.Items().Item();

document.all.item("lblFilepath").InnerText = FolderItem.Path;
frm.lblFilepath.Text = FolderItem.Path;
}
Now, my out question is how to get the client-side FilePath back to
the server without a second round-trip to the server.

Any thoughts wsould be appreciated.

Glenn
Jul 23 '05 #3
On 21 Sep 2004 04:29:37 -0700, in comp.lang.javascript
go****@nixonpeabody.com (Glenn Owens) wrote:
| Not true. As I mentioned I need a way to download a number of image
| files from a gallery-style image search engine to a directory
| destination of the user's choosing. Selecting each image with a
| right-click and specifying the directory would be unnecessarily
| tedious for the user.
The user only has to navigate to their folder once and it becomes the
default folder so subsequent downloads go to that folder. The user can
also rename the file if required.
| I did find a way to involk the BrowseForFolder activeX control through
| Javascript out on MSDN. So, I implemented, and tested, the control and
| that seems to be working well. Here's the Javascript that I'm using:
|
| function GetDownloadPath() {
| var frm = document.forms[0];
| var Shell = new ActiveXObject("Shell.Application");
| var Folder = new Object;
|
| Folder = Shell.BrowseForFolder(0, "Choose a download folder", 0);
|
| var FolderItem = new Object;
| FolderItem = Folder.Items().Item();
|
| document.all.item("lblFilepath").InnerText = FolderItem.Path;
| frm.lblFilepath.Text = FolderItem.Path;
| }
I get 'Permission Denied' error message (WinXP SP2 IE6.0.29)

Error: ActiveXObject is not defined (NS7.1 and Mozilla1.7)
| Now, my out question is how to get the client-side FilePath back to
| the server without a second round-trip to the server.


You can't.
---------------------------------------------------------------
jn****@yourpantsbigpond.net.au : Remove your pants to reply
---------------------------------------------------------------
Jul 23 '05 #4
Lee
Glenn Owens said:

Not true. As I mentioned I need a way to download a number of image
files from a gallery-style image search engine to a directory
destination of the user's choosing. Selecting each image with a
right-click and specifying the directory would be unnecessarily
tedious for the user.

I did find a way to involk the BrowseForFolder activeX control through
Javascript out on MSDN. So, I implemented, and tested, the control and
that seems to be working well. Here's the Javascript that I'm using:

function GetDownloadPath() {
var frm = document.forms[0];
var Shell = new ActiveXObject("Shell.Application");
var Folder = new Object;

Folder = Shell.BrowseForFolder(0, "Choose a download folder", 0);

var FolderItem = new Object;
FolderItem = Folder.Items().Item();

document.all.item("lblFilepath").InnerText = FolderItem.Path;
frm.lblFilepath.Text = FolderItem.Path;
}
Now, my out question is how to get the client-side FilePath back to
the server without a second round-trip to the server.

Any thoughts wsould be appreciated.


Jeff is not just being difficult. What you're asking for would
be a serious security breach. If your code can decide where to
put things, what would prevent you from putting things in my
system directories? Only a few browsers with little respect for
the user's security allow any access to the user's filesystem at
all.

Jul 23 '05 #5
Mr. North,

As we are a Microsoft shop I'n less concerned over the fact that this
is the first time I'm used Microsoft-only controls (though I do try to
remain agnostic as to the platform. We are using WinXP SP1 IE6.0.28)
and the Shell.BrowseFroFolder is working well - no access errors. The
website is configured for Windows Authentication (only) and the
web.config file provides the ASPNET_WP with impersonation rights.

As far as getting the Filepath back from the client without a second
roundtrip (the first was to initiate the image download via an asp
button click)... this bacame easy to accomplish with a bit of
JavaScript and a "hidden" HTML input field in the form.

So, while - yes, I'm not addressing the NS and Mozilla users (of which
we have none) the remainder of the image search/engine/gallery
upload/download works just fine.

Glenn
Jeff North <jn****@yourpantsbigpond.net.au> wrote in message news:<1e********************************@4ax.com>. ..
On 21 Sep 2004 04:29:37 -0700, in comp.lang.javascript
go****@nixonpeabody.com (Glenn Owens) wrote:
| Not true. As I mentioned I need a way to download a number of image
| files from a gallery-style image search engine to a directory
| destination of the user's choosing. Selecting each image with a
| right-click and specifying the directory would be unnecessarily
| tedious for the user.


The user only has to navigate to their folder once and it becomes the
default folder so subsequent downloads go to that folder. The user can
also rename the file if required.
| I did find a way to involk the BrowseForFolder activeX control through
| Javascript out on MSDN. So, I implemented, and tested, the control and
| that seems to be working well. Here's the Javascript that I'm using:
|
| function GetDownloadPath() {
| var frm = document.forms[0];
| var Shell = new ActiveXObject("Shell.Application");
| var Folder = new Object;
|
| Folder = Shell.BrowseForFolder(0, "Choose a download folder", 0);
|
| var FolderItem = new Object;
| FolderItem = Folder.Items().Item();
|
| document.all.item("lblFilepath").InnerText = FolderItem.Path;
| frm.lblFilepath.Text = FolderItem.Path;
| }


I get 'Permission Denied' error message (WinXP SP2 IE6.0.29)

Error: ActiveXObject is not defined (NS7.1 and Mozilla1.7)
| Now, my out question is how to get the client-side FilePath back to
| the server without a second round-trip to the server.


You can't.
---------------------------------------------------------------
jn****@yourpantsbigpond.net.au : Remove your pants to reply
---------------------------------------------------------------

Jul 23 '05 #6
On 28 Sep 2004 13:59:55 -0700, in comp.lang.javascript
go****@nixonpeabody.com (Glenn Owens) wrote:
| Mr. North,
|
| As we are a Microsoft shop I'n less concerned over the fact that this
| is the first time I'm used Microsoft-only controls (though I do try to
| remain agnostic as to the platform. We are using WinXP SP1 IE6.0.28)
| and the Shell.BrowseFroFolder is working well - no access errors. The
| website is configured for Windows Authentication (only) and the
| web.config file provides the ASPNET_WP with impersonation rights.
Fine, considering none of this was mentioned in your original posting.
Where did you get this control from, why not contact them for support?
| As far as getting the Filepath back from the client without a second
| roundtrip (the first was to initiate the image download via an asp
| button click)... this bacame easy to accomplish with a bit of
| JavaScript and a "hidden" HTML input field in the form.
The fact still remains that you can't send information back to the
server without re-submitting the page.

You could use a frameset. The first frame being hidden (sized and
positioned out of the way on the page). The second page would
communicate with the first frame. The first frame would transmit this
information to the server.
| So, while - yes, I'm not addressing the NS and Mozilla users (of which
| we have none) the remainder of the image search/engine/gallery
| upload/download works just fine.
|
| Glenn
|
|
| Jeff North <jn****@yourpantsbigpond.net.au> wrote in message news:<1e********************************@4ax.com>. ..
| > On 21 Sep 2004 04:29:37 -0700, in comp.lang.javascript
| > go****@nixonpeabody.com (Glenn Owens) wrote:
| >
| > >| Not true. As I mentioned I need a way to download a number of image
| > >| files from a gallery-style image search engine to a directory
| > >| destination of the user's choosing. Selecting each image with a
| > >| right-click and specifying the directory would be unnecessarily
| > >| tedious for the user.
| >
| > The user only has to navigate to their folder once and it becomes the
| > default folder so subsequent downloads go to that folder. The user can
| > also rename the file if required.
| >
| > >| I did find a way to involk the BrowseForFolder activeX control through
| > >| Javascript out on MSDN. So, I implemented, and tested, the control and
| > >| that seems to be working well. Here's the Javascript that I'm using:
| > >|
| > >| function GetDownloadPath() {
| > >| var frm = document.forms[0];
| > >| var Shell = new ActiveXObject("Shell.Application");
| > >| var Folder = new Object;
| > >|
| > >| Folder = Shell.BrowseForFolder(0, "Choose a download folder", 0);
| > >|
| > >| var FolderItem = new Object;
| > >| FolderItem = Folder.Items().Item();
| > >|
| > >| document.all.item("lblFilepath").InnerText = FolderItem.Path;
| > >| frm.lblFilepath.Text = FolderItem.Path;
| > >| }
| >
| > I get 'Permission Denied' error message (WinXP SP2 IE6.0.29)
| >
| > Error: ActiveXObject is not defined (NS7.1 and Mozilla1.7)
| >
| > >| Now, my out question is how to get the client-side FilePath back to
| > >| the server without a second round-trip to the server.
| >
| > You can't.
| > ---------------------------------------------------------------
| > jn****@yourpantsbigpond.net.au : Remove your pants to reply
| > ---------------------------------------------------------------


---------------------------------------------------------------
jn****@yourpantsbigpond.net.au : Remove your pants to reply
---------------------------------------------------------------
Jul 23 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: Jane Doe | last post by:
Hi, I need to add a download function in a VB program, but since a file can be located anywhere in our /download section on the web, I was thinking of putting a PHP script there that would take...
1
by: ASP Spam Fighter | last post by:
Hello all, I don't know how to get around this one... If anybody can help me with this problem, I would appreciate it very much. I've been trying to send a (large) file to the browser via a...
5
by: kbrad | last post by:
I am trying to use SoftArtisans FileUp Professional to upload a directory. I have found some sample code to help but you have to type in the directory name when you run the page. I want to use a...
3
by: bbxrider | last post by:
running win2k adv server/ iis5.0 trying to setup on my web page where browsers can download a file, an .xls so been trying to figure out with a download 'link' what invokes the standard ms file...
4
by: hamacher | last post by:
I have a particular need to an application . . . I need users to specify a directory (with path) on their filesystem on an HTML page. All I need at the server is a string representation of the...
0
by: Jeff Reed | last post by:
I am experiencing the the problem outlined the below. Unfortunately, I am using WinXP and I not sure if I can apply the solution due to lack of security control Any feed back would be apreciated ...
2
by: Danny Boy | last post by:
Hi, "Snif" is an excellent little script to index files and directories. It's just one single file, and the advantage is that you merely drop it into the directory you want to index, point a...
3
by: SDRoy | last post by:
Hi Can someone please tell me how I can browse a FTP directory location in C# and then download. I am using something like: DirectoryInfo DirInfo = new...
1
by: SGilch | last post by:
I am new to javascript, and wondering if it is capable of implementing a browsing mechanism for the browser to upload the names of files in a client side directory to the server. The client would...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.