473,396 Members | 1,712 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.

Safety settings on this computer prohibit accessing a data source on another domain

I have following client side code which i have used in my asp.net
project
SummaryFeatured Resources from the
IBM Business Values Solution Center
WHITEPAPER :
CRM Done Right
Improve the likelihood of CRM success from less than 20 percent to 60
percent.

WHITEPAPER :
The Growth Triathlon
What factors constrain growth? And what are the levers to drive it?
Read this whitepaper to find out.

SURVEY :
Global CEO Study 2004
Read the findings of a global survey of over 400 CEO's focusing on the
most important factors that they need to address with their
organizations.


This article examines an example of multiple binary file upload for Web
applications using Extensible Markup Language (XML) technology, without
the typical limitation of traditional file upload processing. It
describes how to use Microsoft XML Parser 3.0 (MSXML) and ActiveX Data
Objects (ADO) Stream objects for a new upload strategy with several
benefits. For example, no custom ASP components are required.
Introduction
To obtain a file upload with a traditional HTML page, on the client
side we can use a form structured in the following way:
<FORM NAME="myForm"
ACTION="TargetURL.asp"
ENCTYPE="multipart/form-data"
METHOD="post">
<INPUT TYPE="file" NAME="myFile">
<INPUT TYPE="submit" VALUE="Upload File">
</FORM>
This solution presents several limitations both on the client and
server side. We must use the POST method (because the GET can't manage
this type of data), and we have no solutions to trigger a POST
processing without using an HTML form. When we send data to the
TargetURL, the browser loads this page as the new current page and we
have an undesirable "context switch."
The ENCTYPE property defines the Multipurpose Internet Mail Extensions
(MIME) encoding for the form and must be set to "multipart/form-data"
for file upload forms. When we set this property to
"multipart/form-data" we obtain a different structure of the POST
buffer (which is also more complex) and the Request ASP object can't
access the form contents. Therefore, we can read the POST buffer using
the Request.binaryRead method, but we can't use scripting languages to
do this. The Request.binaryRead method returns a VTarray (which is a
variant array of unsigned one byte characters) while scripting
languages can manage only variant variables. We can resolve this
problem only by using a specific, custom ASP component or ISAPI
extension, such as CPSHOST.DLL. This behavior is by design.
A New Upload Strategy
The idea underlying this article is the use of the following step: On
the client-side:

create a XML document using the MSXML 3.0 object;
create a XML node with binary content;
populate this node with the content of the uploading file using the ADO
Stream object;
send the document to the Web server using the XMLHTTP object.
On the server-side:
read the XML document from the Request ASP object;
read the content of the binary node and store it into a file on the
server. Optionally, we can store it into a BLOB field of a database
tables.
Before explaining the source code sample, we can make a few
considerations about the solution used in this article.

XML Consideration
XML support many data types, such as numeric, float, character, etc.
Many authors define XML as the ASCII of the future, but we can't forget
that this technology can also describe binary information using the
"bin.base64" data type. This feature is fully available with MS XML 3.0
Parser and to date requires a custom setup. This object provides some
properties that enable a complete management of binary contents:

obj_node.dataType - This read/write property specifies the data type of
the selected node. The XML parser supports more dataType values (see
the MSDN reference for a complete list --
http://msdn.microsoft.com/library/ps.../xmls3z1v.htm).

For binary contents we can use the "bin.base64" data type;

obj_node.nodeTypedValue - This read/write property contains the
selected node's value expressed in its defined data type.
We can create an XML document with more "bin.base64"-type nodes that
contain the files we want to upload. This consideration allows the
processing of multiple uploading files with a single POST.

We can use the XMLHttpRequest object to send an XML document to a Web
server using the POST method. This object provides client-side protocol
support for communication with HTTP servers and allows us to send and
receive MS XML Document Object Model (DOM) objects from a Web server.
XMLHttpRequest is a built-in COM object with Internet Explorer 5 (not
requiring a custom setup) and does not generate a context switch after
posting data.
The ADO Stream Object
The previous considerations allow the creation (on the client-side) of
an XML document with one or more binary nodes. Now we need to populate
this node with the contents of the uploading files. Unfortunately,
scripting languages can't access the local file system, and the
Scripting.FileSystemObject (which is a built-in COM object of the
recent Win32 platform) to date can't manage binary files. This behavior
is by design. We need an other COM object that provides the access to
the local binary files.

The ADO Stream object (which is a COM object included in the MDAC 2.5
components) provides the means to read, write, and manage a stream of
bytes. This byte stream may be text or binary and hasn't particular
size limitations. In ADO 2.5, Microsoft has introduced the Stream
object without any dependency in the ADO object model hierarchy;
therefore, we can use the Stream object without binding it to the other
ADO objects.

In this article, we use the Stream object to access file content and
store it into XML node, and vice versa.
Client-Side Code
The following code sample provides a client-side file upload using
Stream and MSXML objects:
<HTML>
<HEAD><TITLE>File Send</TITLE></HEAD>
<BODY>
<INPUT id=btn_send name="btn_send" type=button value="FILE SEND">
<DIV id=div_message>Ready</DIV>
</BODY>
</HTML>

<SCRIPT LANGUAGE=JavaScript>

// files upload function
function btn_send.onclick()
{
// create ADO-stream Object
var ado_stream = new ActiveXObject("ADODB.Stream");

// create XML document with default header and primary node
var xml_dom = new ActiveXObject("MSXML2.DOMDocument");
xml_dom.loadXML('<?xml version="1.0" ?> <root/>');
// specify namespaces datatypes
xml_dom.documentElement.setAttribute("xmlns:dt",
"urn:schemas-microsoft-com:datatypes");

// create a new node and set binary content
var l_node1 = xml_dom.createElement("file1");
l_node1.dataType = "bin.base64";
// open stream object and read source file
ado_stream.Type = 1; // 1=adTypeBinary
ado_stream.Open();
**ado_stream.LoadFromFile("c:\\tmp\\myfile.doc");
// store file content into XML node
l_node1.nodeTypedValue = ado_stream.Read(-1); // -1=adReadAll
ado_stream.Close();
xml_dom.documentElement.appendChild(l_node1);

// we can create more XML nodes for multiple file upload

// send XML documento to Web server
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST","./file_recieve.asp",false);
xmlhttp.send(xml_dom);
// show server message in message-area
div_message.innerHTML = xmlhttp.ResponseText;
}
</SCRIPT>

following error comes while debugging the above code on the line
marked with **
Safety settings on this computer prohibit accessing a data source on
another domain

How can i solve this problem

Jan 24 '06 #1
0 12037

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

Similar topics

1
by: Sandra | last post by:
Hi all, I´m new on these stuf and.... I´m running this JAVASCRIPT code in my ASP page and I´m getting the error: Safety settings on this computer prohibit accessing a data source on another...
12
by: Steven T. Hatton | last post by:
This is something I've been looking at because it is central to a currently broken part of the KDevelop new application wizard. I'm not complaining about it being broken, It's a CVS images. ...
1
by: Steven Baeten | last post by:
Hi All, I'm running a webpage-application where, in a aspx-page,a udl is called in vbscript in an xsl-stylesheet to access a database. When I want to execute this, I receive following error...
0
by: Jack Wright | last post by:
Dear All, The following is the setting on IIS on a typical Client Server we are working on Authentication Methods Anonymous access (No user name/password required to access this resource.) ...
3
by: Vjay77 | last post by:
As a result from who is I am getting this: > > NOTICE AND TERMS OF USE: You are not authorized to access or query our WHOIS database through the use of high-volume, automated, electronic...
7
by: Chad Zalkin | last post by:
We are evaluating some old code that was written as part of our math library. This code uses some optimizations that I'm not sure are necessary or safe, but is a source of debate between my...
18
by: aarklon | last post by:
In the article http://en.wikipedia.org/wiki/Type_safety it is written as The archetypal type-unsafe language is C because (for example) it is possible for an integer to be viewed as a function...
5
by: jzlondon | last post by:
Hi, I have a question that I wonder if someone might be able to help me with... I have an application which handles real-time financial data from a third party source. The data comes in via...
1
by: =?Utf-8?B?VGVycnk=?= | last post by:
I am using the My.Settings object to save user settings. During testing, I want to 'zero' out what has been saved to start with the defaults again. Where doies the framwork actually persist these...
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
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
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: 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
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
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...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

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.