Télécharger un fichier en ASP Classique sans une autre classe complètement personnalisé

Oui, je suis en utilisant ASP Classique, pas par choix je suis l'appui d'une application existante. Objectif: j'ai besoin d'avoir une page de formulaire qui se soumet à l'autre .page asp qui permet de télécharger le fichier et le stocker sur le serveur dans un certain répertoire "/uploads". Je ne suis pas très familier avec l'asp ou asp.net donc, je suis très nouveau à ce. J'ai créé un prototype d'essai:

Page de formulaire:

<!DOCTYPE html>
<head>
<title>Test upload</title>
</head>
<body>

<form action="process.asp" method="post" enctype="multipart/form-data">
     <p>Filename: <input type="text" name="filename" size="50" /></p>
     <p><input type="file" name="file" /><input type="submit" value="Upload file" /></p>
</form>

</body>
</html>

La page de traitement:

<%

Set fs = Server.CreateObject("Scripting.FileSystemObject")

Set tfolder = fs.GetSpecialFolder(2)
tname = fs.GetTempName

'Declare variables
Dim fileSize
Dim filename
Dim file
Dim fileType
Dim p
Dim newPath

'Assign variables
fileSize       = Request.TotalBytes
fileName       = Request.form("filename")
file           = request.form("file")
fileType       = fs.GetExtensionName(file)
fileOldPath    = tfolder
newPath        = Server.MapPath("/uploads/")

fs.MoveFile fileOrigPath, newPath


set fs = nothing

%>

Le problème est que chaque fois que j'essaie de télécharger ou d'exécuter le script, j'obtiens cette erreur:

Microsoft VBScript runtime error '800a0035'
File not found
/tbird/fileUpload/process.asp, line 25

Évidemment, je ne suis pas la cartographie correctement dans le fichier et je pense que la principale raison pour laquelle je suis coincé, c'est que dans le premier paramètre de la MoveFile méthode, je ne suis pas de cartographie pour le fichier correctement. Quelqu'un peut-il me dire comment je dois être référencer le fichier ou si je le fais mal?

Merci d'avance je voudrais vraiment apprécier l'aide que j'ai cherché partout et de tout ce que j'ai trouver pour l'asp classique et le téléchargement de fichiers sont des classes que vous pouvez acheter et je ne veux pas le faire.

  • Votre code ne permet pas de télécharger quoi que ce soit. En ASP classique, il ne peut pas être fait en une seule ligne de code compliqué doit être utilisé puisque vous avez à lire les données binaires brutes et d'analyser vous-même. vous pouvez également utiliser le code que j'ai écrit il y a quelques années, il peut être trouvé ici vous avez besoin de prendre le fichier à partir du fichier ZIP et il y a des exemples de code.
  • Je me demandais si cela peut être le cas, donc, essentiellement, ce que vous dites, c'est que je dois prendre le fichier et le lire, puis écrire le contenu d'un fichier et l'enregistrer quelque part? Je suis tellement confus sur ce que je suis un développeur php afin de soutenir un héritage de l'application en asp a été certainement une courbe d'apprentissage
  • Le navigateur envoie le contenu du fichier en plus de toutes les données de formulaire en un seul flux binaire de données sur le serveur, le enctype="multipart/form-data" est responsable de cela. Le serveur doit alors analyser les données brutes de retour au contenu du fichier et les données de formulaire, PHP et ASP.NET sont assez intelligents pour le faire sans code supplémentaire mais en ASP classique ne l'est pas.
InformationsquelleAutor Tom Bird | 2013-02-20