vegetalain
Messages postés747Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention11 août 2022
-
17 avril 2009 à 09:28
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 2013
-
20 avril 2009 à 18:50
En espérant être dans le bon thème...
Voilà, il faut que je fasse une page de contact sur un site, avec pièce jointe...
J'ai mis ça pour que l'on puisse aller chercher le fichier :
Le chemin du fichier apparait bien dans le champ.
Seulement... ensuite je fais quoi, je ne sais pas quoi faire après.
Qq'un pourrait-il m'aider? La plupart des trucs que je trouve sont orientés PHP et franchement, c du chinois quoi.
Merci d'avance de vos lumières.
vegetalain
Messages postés747Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention11 août 2022 17 avril 2009 à 15:23
euh... hm... j'ai fait ce test : (un extrait de ma page "envoisok")
Set objMessage = server.CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig
With objMessage
.To = "guguganmo@machinbidule.fr"
if sBCC<>"" then
.bCC = sBCC
end if
.From = zemail
.Subject = "Candidature"
.HTMLBody = "Nom du candidat : " + zenom + "
" + " - Niveau d'étude : " + zeniveau + "
" + " - Poste souhaité : " + zeposte + "
" + " - Message joint : " + zemessage
.AddAttachment = zefichier
.Send
End With
"zefichier" étant signalé plus haut, par "zefichier = Request("theFile")" où theFile est le nom du champ où s'affiche le chemin du fichier...
mais j'ai cça qui s'affiche et j'ai aucun fichier d'envoyé :O
"Cette erreur (HTTP 500 Erreur interne au serveur)
signifie que le site Web que vous visitez a rencontré un problème de serveur qui
a empêché l’affichage de la page Web."
pour le terme spécifique "Net.Mail.MailMessage " je cherche !! :)
SuperBouly
Messages postés410Date d'inscriptiondimanche 1 février 2004StatutMembreDernière intervention 8 mai 2010 17 avril 2009 à 16:29
attention, par défaut, je me suis situé framework 2.0 ou 3.5
Cette classe n'existait pas je crois en asp.
Quand tu poses une question, précise un peu tout ça: environnement de développement, langage etc....
SuperBouly
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 18 avril 2009 à 10:13
Pas de framework en ASP3.
Pour avoir une erreur plus précise, va dans Outils -> Options -> Avancé -> Afficher les messages d'erreur HTTP simplifiés (ou quelque chose comme ça, moi j'ai XP EN)
vegetalain
Messages postés747Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention11 août 2022 20 avril 2009 à 09:46
euh, bon alors avec le code que j'ai mis, j'ai ça kan j'essais d'envoyer le truc :
The page cannot be displayed
You have attempted to execute a CGI, ISAPI,
or other executable program from a directory that does not allow programs to be
executed.
<hr />Please try the following:
<li>Contact the Web site administrator if you believe this directory should
allow execute access. </li>HTTP Error 403.1 - Forbidden: Execute access is denied.
Internet
Information Services (IIS)
<hr />Technical Information (for support personnel)
<li>Go to 8180 Microsoft
Product Support Services and perform a title search for the words
HTTP and 403.
</li><li>Open IIS Help, which is accessible in IIS Manager (inetmgr), and
search for topics titled Configuring ISAPI Extensions, Configuring CGI
Applications, Securing Your Site with Web Site Permissions, and
About Custom Error Messages.
</li><li>In the IIS Software Development Kit (SDK) or at the =8181 MSDN Online Library,
search for topics titled Developing ISAPI Extensions, ISAPI and
CGI, and Debugging ISAPI Extensions and Filters. </li>
sinon eh bien j'utilise dreamweaver 8 pour faire mes pages html et asp...
vegetalain
Messages postés747Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention11 août 2022 20 avril 2009 à 12:02
bon, alors ça fonctionne quelqu'un de mon entourage pro m'a aider et finalement ça marche dans le sens où on peut envoyer un mail avec une pièce jointe... "si" le fichier se trouve déjà sur le serveur, ce qui inclu d'uploader le fichier "avant" d'envoyer le mail...
J'ai donc maintenant un code pour envoyer , et un code pour uploader, il faut que je rassemble les deux...
je fais des essais...
vegetalain
Messages postés747Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention11 août 2022 20 avril 2009 à 14:25
... ça marche pas il m'indique les lignes erronnées mais après "correction", rien ne semble fonctionner davantage... comment il fa ut faire pour combiner les deux codes svp?
voilà le code qui permet d'uploader
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Votre fichier ne doit pas dépasser 190ko !!
<form method="post" ENCTYPE="multipart/form-data">
</form>
<%
'*****************************************************
'* fonction qui permet de recup le nom du fichier
'*****************************************************
Function GetFileName(aField)
Dim x2, i
x = Instr(requestData, rLine & "Content-Disposition: form-data; name=" & Chr(34) & aField & Chr(34))
x = Instr(x, requestData, "filename=" & Chr(34))
x2 = Instr(x, requestData, vbCrLf)
For i = x2 To x Step -1
If Mid(requestData,i,1) = "" Then
x = i - 9
Exit For
End If
Next
GetFileName = Mid(requestData, x+10, x2-(x+11))
End Function
'*****************************************************
'* exemple pour recup value d'un champ supplementaire
'*****************************************************
Function GetName(aField)
Dim x,x1,x2
x = Instr(requestData, rLine & "Content-Disposition: form-data; name=" & Chr(34) & aField & Chr(34))
if x<>"0" then
x2 = Instr(x, requestData, vbCrLf) 'debut ligne qui contient CR (sur x)
x = Instr(x2+1, requestData, vbCrLf) 'cherche debut value
x1 = Instr(x+3, requestData, vbCrLf) 'cherche fin value
GetName = Mid(requestData, x,x1-x)
else
GetName = aField & " : not found"
end if
End Function
'*****************************************************
'* fonction qui permet de recup le data du fichier
'*****************************************************
Function GetFileData(aField)
Dim x2
x = Instr(requestData, rLine & "Content-Disposition: form-data; name=" & Chr(34) & aField & Chr(34))
x = Instr(x, requestData, vbCrLf)
x = Instr(x+1, requestData, vbCrLf)
x = Instr(x+1, requestData, vbCrLf) + 2
x2 = Instr(x, requestData, Left(rLine,Len(rLine)-2))
GetFileData = Mid(requestData, x+2, x2-x-4)
End Function
'*****************************************************
' fonction qui permet de recup le content-type
'*****************************************************
Function GetContentType(aField)
Dim x,x2
x = Instr(requestData, rLine & "Content-Disposition: form-data; name=" & Chr(34) & aField & Chr(34))
x = Instr(x, requestData, "Content-Type:")
x2 = Instr(x, requestData, vbCrLf)
GetContentType = Mid(requestData, x+13, x2-(x+13))
End Function
'*****************************************************
' test si le formulaire est validé
'*****************************************************
if Request.TotalBytes <> 0 then
'recup des donnees du formulaire
RequestBin = Request.BinaryRead(Request.TotalBytes)
if LenB(RequestBin) < 900000 then
'convertion unicode vers ascii
For i = 1 To LenB(RequestBin)
requestData = requestData & Chr(AscB(MidB(RequestBin, i, 1)))
Next
'recup de la signature (hash)
rLine = Left(requestData, Instr(requestData,vbCrLf)+1)
filename = Server.MapPath(".") & "\LesFichiers" & GetFileName("theFile")
'creation du fichier
Set FSO = server.CreateObject("Scripting.FileSystemObject")
Set TS = FSO.CreateTextFile(filename, True, False)
TS.Write GetFileData("theFile")
TS.Close
' response.write "fichier enregistrer sur : " & filename
' response.write "Merci. Le fichier est enregistré !"
' else
' response.write "Attention : La taille est limitée à 190Ko !!"
end if
et le code de mail avec la ligne qui permet d'envoyer un fichier "déjà" sur le server :
<%
function WriteToFile(FileName, Contents, Append)
on error resume next
if Append = true then
iMode = 8
else
iMode = 2
end if
set oFs = server.createobject("Scripting.FileSystemObject")
set oTextFile = oFs.OpenTextFile(FileName, iMode, True)
oTextFile.Write Contents & vbcrlf
oTextFile.Close
set oTextFile = nothing
set oFS = nothing
Dim objConfig ' As CDO.Configuration
Dim objMessage ' As CDO.Message
Dim Fields ' As ADODB.Fields
' Get a handle on the config object and it's fields
Set objConfig = Server.CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields
' Set config fields we care about
With Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = *******
.Item(cdoSMTPServerPort) = *******
.Item(cdoSMTPConnectionTimeout) = *******
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = *******
.Item(cdoSendPassword) = *******
.Update
End With
Set objMessage = server.CreateObject("CDO.Message")
SuperBouly
Messages postés410Date d'inscriptiondimanche 1 février 2004StatutMembreDernière intervention 8 mai 2010 20 avril 2009 à 14:51
au fait, tu ne peux vraiment pas migrer vers asp.net 2.0 ou 3.5 ?
ce serait vraiment + simple ! Il s'y trouve des controles et des classes faites pour ça !
SuperBouly
vegetalain
Messages postés747Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention11 août 2022 20 avril 2009 à 15:15
Apparement ici c'est ASP et point barre... :/ :) sinon je c pas trop, étant donné que le Dreamweaver est le 8 et que le copyright va de 97 à 2005, l'asp que j'utilise doit dater de 2005, et c'est donc... (je zieute sur le net)... bon, je trouve pas mais c vieux, on a qu'à dire ça !! c merveilleux mdr... dsl, rire nerveux... hm
Sinon, j'ai pu mettre les deux "codes" sur la meme feuille et ça bug plus, je peux uploader trankil... car... j'ai mis... (je sais que c'est pas bien) une iframe qui charge la fenetre d'upload...
(je fais avec ce que j'ai, au niveau matos et au niveau cerveau) donc...
une fois que le fichier est chargé il est apparement stocké dans une "variable" nommée "filename"...
Comment faut-il faire pour la récupérer sur la page d'envois du mail?...
hm... petit résumé :
il y a une feuille :
- uploadASP (c elle qui upload le fichier sur le server)
- la page de formulaire (qui comporte une iframe où s'affiche la page upload et donc en "apparence", ça fait style la meme page...)
- puis la dernière une page asp qui contient un texte genre "ok ça roule le truc est parti", et qui comporte à l'intérieur les "rappels" de variables machins issues de la page formulaire...
C'est dans cette page numéro 3 que je dois mettre "filename" normalement ?! et où.?... il faut sans doute la déclarer plus haut, mais je ne sais pas trop comment en fait...
navré ces questions doivent paraitre toutes betes mais pour moi y'a de quoi se jeter par la fenetre, rouler sur une voiture et finir sous un pont manger par des poissons 8D (oups, encore un rire nerveux...)
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 20 avril 2009 à 18:50
Pour utiliser le nom du fichier dans la page 3, il suffit que la précédente envoie ce dernier en GET, ça fera l'affaire.
Du genre :
Response.Redirect "stage3.asp?FileName.xyz"
@ [auteur/SUPERBOULY/224875.aspx SuperBouly] : Faut encore connaître le langage qui n'est pas simple à comprendre quand on vient d'ASP3 ...
Et quand on a tout un site en ASP3, on a pas forcément envie de passer à un truc plus lourd et plus lent !