How to open a file on the clients local hard drive from within ASP

P

Peter

Dear,

I do have an ASP page with vbscript code entirely executed on the IIS
server. The page contains a lot of data coming from the SQL Server.
I want to populate one of the <select> boxes on that page with data coming
from a file stored on the clients local hard drive. How do I achieve this?

Thanks in advance,
Regards,
Peter
 
E

Evertjan.

=?Utf-8?B?UGV0ZXI=?= wrote on 12 okt 2007 in
microsoft.public.inetserver.asp.general:
I do have an ASP page with vbscript code entirely executed on the IIS
server. The page contains a lot of data coming from the SQL Server.
I want to populate one of the <select> boxes on that page with data
coming from a file stored on the clients local hard drive.
How do I achieve this?

You don't.

ASP runs ONLY on the server
and ONLY sends the computed html to the client.

Clientside coding, in javascript,
[or if IE only, also in clientside vbscript]
could read from the client's hard disk
ONLY if the security of the browser is compromized.

This however, besides being unwize,
is outside the scope of this ASP NG.

You could say, as many have done before you,
and you could and should have read in the archive,
that your application is so important, that it
is justfied that asp programmers should help you to
make clientside script, that also is dangerous to the ordinary user
if it were even possible, but I would not agree with you there.

So I would urge you not even to search for appropriate NG's,
but to abandon your quest.
 
P

Peter

Thanks Jan for the answer.
The goal was to build the drop down list with all 2800 Cities and their
postcode in it so the user can select the city rather then typing it.
Problem is that it takes a huge time to download this content from the server
(SQL data) to the client. It would goes faster if this data was locally
stored since she would not change in the future. (unless the spilt of HBV
will cause Flemish cities become Brussels cities, according to the current
political crisis in Belgium)


Evertjan. said:
=?Utf-8?B?UGV0ZXI=?= wrote on 12 okt 2007 in
microsoft.public.inetserver.asp.general:
I do have an ASP page with vbscript code entirely executed on the IIS
server. The page contains a lot of data coming from the SQL Server.
I want to populate one of the <select> boxes on that page with data
coming from a file stored on the clients local hard drive.
How do I achieve this?

You don't.

ASP runs ONLY on the server
and ONLY sends the computed html to the client.

Clientside coding, in javascript,
[or if IE only, also in clientside vbscript]
could read from the client's hard disk
ONLY if the security of the browser is compromized.

This however, besides being unwize,
is outside the scope of this ASP NG.

You could say, as many have done before you,
and you could and should have read in the archive,
that your application is so important, that it
is justfied that asp programmers should help you to
make clientside script, that also is dangerous to the ordinary user
if it were even possible, but I would not agree with you there.

So I would urge you not even to search for appropriate NG's,
but to abandon your quest.
 
P

p byers

Hi Peter
Just a thought
Use a "Text" Input box for the PostCode to be typed in
On Lost focus
use XMLHTTP to get the City from your Internet server
that is Fast and the Web Page does not need to be repainted
- the City name appears where-ever you want it in your page.
Pete (Northolt UK)
Thanks Jan for the answer.
The goal was to build the drop down list with all 2800 Cities and their
postcode in it so the user can select the city rather then typing it.
Problem is that it takes a huge time to download this content from the server
(SQL data) to the client. It would goes faster if this data was locally
stored since she would not change in the future. (unless the spilt of HBV
will cause Flemish cities become Brussels cities, according to the current
political crisis in Belgium)

Evertjan. said:
=?Utf-8?B?UGV0ZXI=?= wrote on 12 okt 2007 in
microsoft.public.inetserver.asp.general:
I do have an ASP page with vbscript code entirely executed on the IIS
server. The page contains a lot of data coming from the SQL Server.
I want to populate one of the <select> boxes on that page with data
coming from a file stored on the clients local hard drive.
How do I achieve this?

You don't.

ASP runs ONLY on the server
and ONLY sends the computed html to the client.

Clientside coding, in javascript,
[or if IE only, also in clientside vbscript]
could read from the client's hard disk
ONLY if the security of the browser is compromized.

This however, besides being unwize,
is outside the scope of this ASP NG.

You could say, as many have done before you,
and you could and should have read in the archive,
that your application is so important, that it
is justfied that asp programmers should help you to
make clientside script, that also is dangerous to the ordinary user
if it were even possible, but I would not agree with you there.

So I would urge you not even to search for appropriate NG's,
but to abandon your quest.
 
E

Evertjan.

=?Utf-8?B?UGV0ZXI=?= wrote on 13 okt 2007 in
microsoft.public.inetserver.asp.general:
Evertjan. said:
How do I achieve this?

You don't.

ASP runs ONLY on the server
and ONLY sends the computed html to the client.

Clientside coding, in javascript,
[or if IE only, also in clientside vbscript]
could read from the client's hard disk
ONLY if the security of the browser is compromized.

This however, besides being unwize,
is outside the scope of this ASP NG.

You could say, as many have done before you,
and you could and should have read in the archive,
that your application is so important, that it
is justfied that asp programmers should help you to
make clientside script, that also is dangerous to the ordinary user
if it were even possible, but I would not agree with you there.

So I would urge you not even to search for appropriate NG's,
but to abandon your quest.

[Please do not toppost on usenet]
Thanks Jan for the answer.

[please do not invent another name for me]
The goal was to build the drop down list with all 2800 Cities and
their postcode in it so the user can select the city rather then
typing it. Problem is that it takes a huge time to download this
content from the server (SQL data) to the client.

I do not see why that would take a long time, only 2800 cities cum
postcode. A file of perhaps 100kB would do, methinks.
A nice jpeg is larger.
Do you dial in?

And it is not even necessary when using AJAX.

You would not have the user spit through a dropdown of 2800 lines?

Subidvided by the first two letters AJAX will only need to fetch between
5 to 20 records.
It would goes faster
if this data was locally stored since she would not change in the
future. (unless the spilt of HBV will cause Flemish cities become
Brussels cities, according to the current political crisis in Belgium)

Which will never happen, they will go over to the Netherlands first. ;-)

Explanation of the "why" does not help, if something is imposseble.

However nothing is really impossible, if you think of it:

The browser cache can be used freely, though inconsistently because of
the individual settings of the users and browser types.

Try putting all the data in one .js file as an array of arrays:

a = [
['Brussel','10000'],
['Dendermonde','12345']
];

That file need only be loaded once a day or so.
 
A

Anthony Jones

Peter said:
Thanks Jan for the answer.
The goal was to build the drop down list with all 2800 Cities and their
postcode in it so the user can select the city rather then typing it.
Problem is that it takes a huge time to download this content from the server
(SQL data) to the client. It would goes faster if this data was locally
stored since she would not change in the future. (unless the spilt of HBV
will cause Flemish cities become Brussels cities, according to the current
political crisis in Belgium)

To boil the issue down you have a large amount of data that you want to
transfer to the client and store it locally so that its not retrieved every
time the page is hit by that client.

This is what the local browser cache is for.

Place the postcodes and cities in an XML file (lets call it cities.xml)

In IIS manager add a Cache-Control header to the file with the value
"max-age: 900" A 15 minute life time may seem too conservative but its not
since all it really means is how often a round trip resulting in a 304
response is generated.

Now in javascript:-

// A good implementation would do error checking but this'll work
function getXML(url)
{

if (window.XMLHttpRequest)
oXmlHttp = new XMLHttpRequest()
else
oXmlHttp = new ActiveXObject("MSXML2.XMLHTTP.3.0")

oXmlHttp.open "GET", url, false
oXmlHttp.send

return oXmlHttp.ResponseXML

}

If this is the only application you'd have for the XML I would be tempted to
make your XML look like this:-

<select id="cboCity" name="city">
<option value="postcode">City Name</option>
<option value="postcode">City Name</option>
 
E

Evertjan.

jp2code wrote on 15 okt 2007 in microsoft.public.inetserver.asp.general:
This is the Internet, and it is all about freedom.

Evertjan. said:
[Please do not toppost on usenet]

1
So freedom is not allowing me to say "please"?
So freedom is not about asking for adhering to Netiquette?

2
The internet is not about freedom.
Why would you think that?
The internet is just communication technology.
It is like saying, that the beach is all about freedom,
where the beach is just a nicely situated piece of sand.
Yes the internet can give freedom, just like a wire cutter.

So:

[Please do not toppost on usenet]
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top