Upload de fichier

Upload de fichier - ASP - Programmation

Marsh Posté le 27-10-2006 à 13:58:22    

Salut ! [:dawa]
 
J'essai d'uploader des fichiers txt (300 octets) via de l'asp.
 
Ca voudrait bien marcher mais j'ai un pb de droit semble t-il. Tout mes dossiers et fichiers sont en 777 mais mon soucis vient de là :
 

Code :
  1. Function vbsSaveAs(FileName, ByteArray)
  2.  Dim FS, TextStream
  3.  Set FS = CreateObject("Scripting.FileSystemObject" )
  4.  
  5.  Set TextStream = FS.CreateTextFile(FileName) <-------------- c'est ici que ça merde
  6.  
  7.    TextStream.Write BinaryToString(ByteArray) ' BinaryToString is in upload.inc.
  8.  TextStream.Close
  9. End Function


 
J'obtiens un beau  

Citation :

Erreur d'exécution Microsoft VBScript erreur '800a0046'
Permission refusée
/test/temp/upload.inc, ligne 263


 
Ma question est : Est ce que ça ne pourrait pas venir du fait que je crée un fichier sur lequel je n'ai pas les droits (vu qu'il n'est pas crée, vous me suivez ?) ?
 
Si une âme charitable traine dans le coin, je suis tout ouie \o/

Reply

Marsh Posté le 27-10-2006 à 13:58:22   

Reply

Marsh Posté le 27-10-2006 à 15:19:57    

up bordel :fou:

Reply

Marsh Posté le 27-10-2006 à 15:24:43    

et avec ASPsmartupload ??


Message édité par Flyman30 le 27-10-2006 à 15:25:08
Reply

Marsh Posté le 27-10-2006 à 16:13:03    

j'ai pas le droit d'installer de composant /o\

Reply

Marsh Posté le 27-10-2006 à 17:24:24    

j'vais dire une connerie, mais ton filename il a une notion de répertoire dedans ? Sinon il va le créer directement dans le répertoire de ton script, qui n'est peut-être pas en 777 ? :??:
(ce qui de toute façon serait très laid)


Message édité par Elmoricq le 27-10-2006 à 17:24:49
Reply

Marsh Posté le 27-10-2006 à 17:42:32    

mon repertoire et tous les fichiers sont en 777 :/

Reply

Marsh Posté le 27-10-2006 à 20:32:09    

quand tu dis "en 777", tu veux dire que t'es sous linux ? :o
 
c'est bien les droits du iusr qui sont en lecture/écriture ? (il faut mettre "controle total" et pas seulement lecture/écriture)


Message édité par cosmoschtroumpf le 27-10-2006 à 20:32:18
Reply

Marsh Posté le 28-10-2006 à 11:07:51    

C'est un serveur iis !
Je passe par filezilla et je peux changer l'attribut de mes fichiers ou dosssiers. Lecture / Ecriture / Execution (777 permet tout pour tout le monde)

Reply

Marsh Posté le 28-10-2006 à 13:17:12    

oh, tu peux pas changer les droits toi-même sur le dossier ? [:pingouino]
Essaye de contacter les mecs qui peuvent le faire pour qu'ils le fassent à ta place pour le iusr.
 
On a tous nos serveurs sous win, et un de nos client veut faire de l'upload, a chaque fois on est obligés de modifier les droits de son rep à la main, il peut pas le faire par filezilla...


---------------
Android/Manettes/Metroidvania/Zelda/Indés/Retrogaming/VDS jeux
Reply

Marsh Posté le 28-10-2006 à 14:35:01    

cosmoschtroumpf a écrit :

oh, tu peux pas changer les droits toi-même sur le dossier ? [:pingouino]
Essaye de contacter les mecs qui peuvent le faire pour qu'ils le fassent à ta place pour le iusr.
 
On a tous nos serveurs sous win, et un de nos client veut faire de l'upload, a chaque fois on est obligés de modifier les droits de son rep à la main, il peut pas le faire par filezilla...


Ha okay !
C'est bien ce que je pensais ! [:romf]
Le truc c'est que ce mec là je peux pas le contacter avant jeudi prochain \o/
 
(en tout cas merci mon lapin [:romf] )

Reply

Marsh Posté le 28-10-2006 à 14:35:01   

Reply

Marsh Posté le 28-10-2006 à 15:03:34    

Reply

Marsh Posté le 02-11-2006 à 16:09:14    

ça a marché \o/
 
Bon sinon si je veux récuperer le patch de mon fichier selectionné via ça :

Code :
  1. <form method=post ENCTYPE="multipart/form-data">
  2.     File : <input type="file" name="File1"><br>
  3.     <input type="submit" Name="Action" value="Upload the file">
  4.   </form>


Il faut que j'invoque quel démon ?


Message édité par stiffler le 02-11-2006 à 16:09:34
Reply

Marsh Posté le 02-11-2006 à 16:18:31    

FileName et FilePath renvoient la même valeur [:noxauror]

Reply

Marsh Posté le 03-11-2006 à 09:31:09    

il vaut mieux utiliser aspsmartupload pour récupérer des fichiers envoyés (eh oui, vive asp [:god])


---------------
Android/Manettes/Metroidvania/Zelda/Indés/Retrogaming/VDS jeux
Reply

Marsh Posté le 03-11-2006 à 09:35:26    

bon j'ai abandoné l'upload comme ça ! [:dawa]
Mes fichiers textes sont tous < 450 o du coup je vais les passer dans l'url et créer mon fichier texte direct sur le serveur.
J'envoie mon mail avec mon fichier txt et après je supprime le fichier texte ! [:dawa]
Ca peut se faire ça ? [:dawa]

Reply

Marsh Posté le 03-11-2006 à 10:36:05    

les passer dans l'url ? [:pingouino]
qu'est-ce que tu veux dire par là ? [:pingouino]

Reply

Marsh Posté le 03-11-2006 à 10:43:06    

bah passer le contenu de mon fichier www.monsexe.com?data= (le contenu de mon fichier texte) [:dawa]

Reply

Marsh Posté le 03-11-2006 à 16:02:34    

ben si t'as accès en écriture dans le répertoire adéquat, ca peut se faire oui :o

Reply

Marsh Posté le 03-11-2006 à 16:34:18    

bah ça marche en gros [:dawao]
Mais director à l'air limité en taille d'url .. et << à 255 caractères visiblement :/

Reply

Marsh Posté le 03-11-2006 à 17:35:07    

[:haha]
 
ça t'apprendra à fricotter avec les technologies du Malin :o

Reply

Marsh Posté le 03-11-2006 à 19:06:04    

ptain mais c'est pire ... c'est limité à 80 charactères .. c'est quoi cette merde O_O

Reply

Marsh Posté le 03-11-2006 à 19:27:02    

tu veux faire quoi en fait à la fin ?
un utilisateur entre du texte dans un champ dans un flash, et tu veux l'enregistrer en piece jointe d'un mail ?

Reply

Marsh Posté le 03-11-2006 à 19:33:46    

En fait l'utilisateur suit une formation sur un cd, à la fin son parcours est enregistrer sous forme de fichier txt sur son disque.
Ce que je veux faire c'est envoyé automatiquement ce fichier à partir de director. [:dawa]
Pour ça, au moment où sous director j'écris le fichier texte, je choppe les différentes variables (nom, prenom, score, ...) et je les envoie sur une page asp avec un lien classique. (gotoNetPage "url de 80 caractères" )
Cette page récupère les données, me crée mon fichier texte, envoie le mail avec le fichier texte en pièce jointe et enfin efface le fichier texte. [:dawa]
La partie création de fichier marche (plus ou moins). La partie envoie mail et pièce jointe marche. [:dawa]
Mon problème est pour envoyer les données à partir de director vers ma page asp ...

Reply

Marsh Posté le 03-11-2006 à 19:38:34    

Tu peux t'éclater à faire un appel par donnée [:dawak]
genre :
- gotoNetPage "coin.asp?user=1&nom=stiffler"
- gotoNetPage "coin.asp?user=1&prenom=han yong"
- gotoNetPage "coin.asp?user=1&score=0specedegrossebuse"
et à la fin :
- gotoNetPage "coin.asp?user=1&valider=true"
(ou une connerie comme ça)
Et à chaque appel tu écris dans un fichier texte sur le serveur (ou dans une bdd), et à la fin tu l'envoies
C'est complètement pourri, mais là comme ça j'ai pas d'autre idée, vu que je connais pas director [:dawak]
Sinon tu peux rechercher des extras, mais c'est souvent payant...


Message édité par cosmoschtroumpf le 03-11-2006 à 19:39:58
Reply

Marsh Posté le 03-11-2006 à 21:10:07    

le problème de faire 15 gotoNetPage c'est que ça va m'ouvrir 15 pages web :/
Bon là je suis en week-end .. je chercherais la suite lundi [:dawak]
 
En tout cas merci de ton aide et tes idées [:romf]

Reply

Marsh Posté le 03-11-2006 à 21:35:40    

ah oui, parce que ça ouvre la page.... tu peux pas genre ouvrir la page en interne et foutre le résultat en variable ? en plus comme ça tu peux vérifier au fur et à mesure que la page n'a pas fait d'erreur, en interne...


---------------
Android/Manettes/Metroidvania/Zelda/Indés/Retrogaming/VDS jeux
Reply

Marsh Posté le 10-01-2007 à 16:06:37    

Salut,
J'essaie de faire la même chose entre deux serveurs avec adoStream, ça marche bien avec IIS 6 sur Windows Server 2003 mais pas IIS 5 sur Windows 2000
 
Je comprends pas pourquoi... si quelqu'un peut m'aider merci.
 
 
Le code de l'envoi :
 

Code :
  1. 'envoi du fichier vers le serveur web final et le script de réception
  2. 'création d'un objet ADO pour charger le fichier
  3. Set objADOStream = server.createobject("ADODB.Stream" )
  4. objADOStream.Open
  5. objADOStream.Type = 1
  6. objADOStream.LoadFromFile CheminTmp
  7. Response.Write("Envoi de " & Fic & " ...<br>" )
  8. URLString = ServeurCible & "upload.asp?chemin=" & Chemin
  9. 'création de l'objet XMLHTTP envoyé au serveur final
  10. Set objXMLHTTP = Server.CreateObject ("Microsoft.XMLHTTP" )
  11. objXMLHTTP.Open "POST", URLString, False
  12. objXMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  13. objXMLHTTP.setRequestHeader "charset", "ISO-8859-1"
  14. objXMLHTTP.send objADOStream.Read(-1)
  15. reqstatus = objXMLHTTP.status
  16. txtResult = objXMLHTTP.responseText        ' ou ResponseBody !
  17. Set objXMLHTTP = nothing
  18. Response.Write("reqstatus = '" & reqstatus & " "& URLString &"'<br>" )
  19. Response.Write(txtResult)
  20. objADOStream.Close


 
Le code de la réception (upload.asp) :
 

Code :
  1. dim file
  2. file = Request.QueryString("chemin" ) ' on demande le nom du fichier à sauver
  3. 'Response.Write("upload " & file)
  4. Set adoStream = Server.CreateObject("ADODB.Stream" )
  5. adoStream.Type = 1    ' binary
  6. adoStream.Open
  7. adoStream.Write Request.BinaryRead(Request.TotalBytes, Request.TotalBytes)        ' on intercepte les données émises
  8. adoStream.SaveToFile Server.mapPath(file), 2    ' on sauve le fichier
  9. adoStream.Close
  10. Set adoStream = Nothing

Reply

Marsh Posté le 10-01-2007 à 17:15:56    

Bon je vais me flageller, ça marchait pas parce que j'avais oublié de créer un répertoire en prod.... Enfin ça fait une autre méthode d'upload sans composant.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed