Tengo el código (que comparto abajo), que básicamente mediante un formulario y con ayuda del componente ASPUpload, subo un archivo excel al servidor, una vez guardado leo el excel e imprimo su contenido.
El detalle (extraño para mi) es que al momento de guardar el archivo. lo hace sin problemas, pero al apretar F5 o volver a subir el archivo, marca el siguiente error en el servidor:
Cita: Persits.Upload.1 error '800a001a'
The process cannot access the file because it is being used by another process.
file.asp, line 89
De manera local no marca error, ahora, si después de que me marca el error arriba mencionado, dejo pasar aproximadamente 2 min y refresco la pagina (F5), si sube el archivo y no marca el error.
Entonces "supongo" existe alguna configuración en el servidor que determina el tiempo que queda abierto un archivo, la pregunta del millón es ¿Alguien sabe que parámetro controla esta parte del archivo?
[PHP]
<% Option Explicit %>
<% Response.expires = 0 %>
<html>
<body>
<header>
<link href="inc/asp/ilatina.css" rel="stylesheet">
<SCRIPT type="text/javascript">
function validate_file_format(field_name, allowed_ext) {
obj1 = document.Form_SubirExcel;
var temp_field = 'obj1.' + field_name + '.value';
field_value = eval(temp_field);
if (field_value.length <= 0) {
alert('Seleccione un archivo con extension: ' + allowed_ext);
return false;
}
else{
//if (field_value != "") {
var file_ext = (field_value.substring((field_value.lastIndexOf('. ') + 1)).toLowerCase());
ext = allowed_ext.split(',');
var allow = 0;
for (var i = 0; i < ext.length; i++) {
if (ext[i] == file_ext) {
allow = 1;
}
}
if (!allow) {
alert('Formato de archivo invalido. Por favor suba archivo con extension: ' + allowed_ext);
return false;
}
}
}
</SCRIPT>
</header>
<%
if Request.QueryString("subir_archivo")=1 then
Dim objUpload, carpeta, strNombreFichero
'SUBIR ARCHIVO AL SERVIDOR
Dim Count, ID_ODT, objFich, ins_ExtensionFile, ruta
Set objUpload = Server.CreateObject("Persits.Upload.1")
objUpload.CodePage = 65001
Count = objUpload.Save
'recuperamos los campos del formulario
ID_ODT = "34567"
'si no ha subido ningún fichero, le avisamos
if Count = 0 then
Response.Write("No has subido ningún fichero")
else
'accedemos al fichero por su nombre en el formulario
Set objFich = objUpload.Files("frmArchivo")
carpeta = Server.MapPath("\Carpeta")
strNombreFichero = "Archivo_" & ID_ODT & "." & ins_ExtensionFile
response.Write "file= " & carpeta & "\" & strNombreFichero
'Guardamos el archivo
ruta = carpeta & "\" & strNombreFichero
objFich.SaveAs ruta
'Cerramos y limpiamos
set objUpload = nothing
set objFich = nothing
end if
'FIN SUBIR ARCHIVO A SERVIDOR
end if
%>
...continua abajo