Ce code vous permet d'uploader un fichier sans formulaire, pour cela il faut installer MSXML 4.0
Source / Exemple :
'Page coté Client
<HTML>
<HEAD>
<TITLE>File Send</TITLE></HEAD>
<BODY>
<DIV id="div_message">Ready</DIV>
</BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
btn_sende()
// files upload function
function btn_sende()
{
// Creation de l'objet ADO-stream
var ado_stream = new ActiveXObject("ADODB.Stream");
// Creation du Document XML document
var xml_dom = new ActiveXObject("MSXML2.DOMDocument");
xml_dom.loadXML('<?xml version="1.0" ?> <root/>');
xml_dom.documentElement.setAttribute("xmlns:dt", "urn:schemas-microsoft-com:datatypes");
// creation d'un nouveau noeud et définit le contenu en binaire
var l_node1 = xml_dom.createElement("file1");
l_node1.dataType = "bin.base64";
ado_stream.Type = 1; // 1=adTypeBinary
ado_stream.Open();
'Spéficier le chemin du fichier à uploader
ado_stream.LoadFromFile("D:\\test.txt");
l_node1.nodeTypedValue = ado_stream.Read(-1); // -1=adReadAll
ado_stream.Close();
xml_dom.documentElement.appendChild(l_node1);
// Envoie le document XMl sur un serveur web
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST","Serveur + Pserv.asp",false);
xmlhttp.send(xml_dom);
// show server message in message-area
div_message.innerHTML = xmlhttp.ResponseText;
}
</SCRIPT>
'Page coté Serveur
<%@ LANGUAGE=VBScript%>
<% Option Explicit
Response.Expires = 0
dim ado_stream
dim xml_dom
dim xml_file1
set ado_stream = Server.CreateObject("ADODB.Stream")
' Creation de l'objet XMLDOM et charge la demande de l'objet ASP
set xml_dom = Server.CreateObject("MSXML2.DOMDocument")
xml_dom.load(request)
set xml_file1 = xml_dom.selectSingleNode("root/file1")
ado_stream.Type = 1 ' 1=adTypeBinary
ado_stream.open
ado_stream.Write xml_file1.nodeTypedValue
' Sauve le fichier uploadé
ado_stream.SaveToFile "/test.txt",2 ' 2=adSaveCreateOverWrite
ado_stream.close
set ado_stream = Nothing
set xml_dom = Nothing
' Ecris le message dans le browser
Response.Write "Upload successful!"
%>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.