La Red de Conocimientos Pedagógicos - Currículum vitae - ¿Cómo mantener el nombre original en la carga asp? Pídele ayuda a Dios

¿Cómo mantener el nombre original en la carga asp? Pídele ayuda a Dios

En ASP, el motivo para cambiar el nombre de los archivos al cargarlos es evitar conflictos de nombres de archivos y problemas de seguridad. Sin embargo, si realmente necesita conservar el nombre del archivo original, puede hacerlo de las dos maneras siguientes:

1. Obtenga el nombre del archivo original del archivo cargado

Puede. use la propiedad `del objeto de archivo cargado OriginalFileName` para obtener el nombre del archivo original del archivo cargado y luego guarde el archivo cargado directamente en la ruta especificada:

```asp

set upload = Server.CreateObjectPersits.Uploadset file = upload.Filesfile1if file.Size > Then

' Obtenga el nombre del archivo original

filename = file.OriginalFileName

' Guarde el archivo cargado directamente en la ruta especificada

file.SaveAs(Server.MapPathimages/upfile & & filename)

End If

`` `

Utilice este método. Cabe señalar que si varios usuarios cargan archivos con el mismo nombre, los archivos cargados más tarde pueden sobrescribir los archivos cargados primero. Si no desea sobrescribir un archivo existente, es mejor realizar un procesamiento adicional en el nombre del archivo, como agregar una marca de tiempo delante del nombre del archivo.

2. Copie el archivo cargado y use el nombre de archivo original.

Otro método es guardar el archivo cargado en un directorio temporal y cambiarle el nombre después de cargarlo.

Luego asigne el nombre del archivo al nombre del archivo original, copie el archivo renombrado en el directorio de carga al directorio oficial y use el nombre del archivo original:

```asp

set upload = Server.CreateObjectPersits.Uploadset file = upload.Filesfile1if file.Size > Then

' Cambie el nombre del archivo cargado

filenameend = split(file.FileName,

filename = Trim(filenameend()) & & FormatDateTime(Now(), ) & & filenameend(1)

tempPath = Server.MapPathimages/upfile/temp ' Crea un directorio temporal

Establecer fso = CreateObjectScripting.FileSystemObject si no es fso.FolderExists(tempPath) Entonces

fso.CreateFolder tempPath

End If

' Guarde el archivo cargado en el directorio temporal

file.SaveAs (tempPath & & filename)

' Copie el archivo renombrado al directorio oficial y use el nombre de archivo original

Establezca fso = Nada

Establecer fso = CreateObjectScripting.FileSystemObject Si no es fso.FileExists(tempPath & & filename) Entonces

El archivo Response.Write no existeElse

fileNameArr = Split(file.OriginalFileName, fileExt = fileNameArr(UBound(fileNameArr))

destPath = Server.MapPathimages/upfile destFileName = destPath & & filenameArr() & & fileExt

fso. CopyFile tempPath & & filename, destFileName, True

End If

' Elimina el directorio temporal

fso.DeleteFolder(tempPath)

End Si

```

En el código anterior, primero se cambia el nombre del archivo cargado, lo que incluye agregar una marca de tiempo, etc., y luego el archivo cargado se guarda en el directorio temporal especificado. . Luego copie el archivo renombrado al directorio oficial y use el nombre de archivo original. Finalmente, elimine el directorio temporal. Cabe señalar que este método requiere el uso de un objeto Scripting.FileSystemObject para operar el sistema de archivos, que primero debe crearse usando CreateObject.