Hola a todos!!!!
Tengo un pequeño dilema y a quien me pueda a yudar se lo agradezco de antemano.
Mi problema es el siguiente yo tengo el siguente código para subir un archivo al servidor:
private void cmdImgSubirArchivo_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
if ((fleFicheros.Value != "") && (txtTituloArchivoDigital.Text != ""))
{
Archivo archivoDigital = new Archivo();
string archivo = "";
string formato = "";
try
{
string[] arInfo =new string[4];
string[] arch = new string[4];
char[] splitter = {'\\'};
char[] splitter2 = {'.'};
arInfo = fleFicheros.Value.Split(splitter);
for(int x = 0; x < arInfo.Length; x++)
{
archivo = arInfo[x];
}
arch = archivo.Split(splitter2);
for(int y = 0; y < arch.Length; y++)
{
formato = arch[y];
}
//string ruta = Server.MapPath(".");
if(Directory.Exists("c:\\Inetpub\\wwwroot\\SABIO\\ArchivosDigitales\\") == true)
{
lblIDArchivoDigital.Text = archivoDigital.Ingresar(txtTituloArchivoDigital.Text, System.Convert.ToInt32(cbolstFormatoDigital.SelectedValue));
string DireccionURL = "c:\\Inetpub\\wwwroot\\SABIO\\ArchivosDigitales\\"+txtTituloArchivoDigital.Text+"."+formato;
fleFicheros.PostedFile.SaveAs(DireccionURL);
archivoDigital.IngresarURL(System.Convert.ToInt32(lblIDArchivoDigital.Text), txtTituloArchivoDigital.Text+"."+formato, System.Convert.ToInt32(lblIdentificador.Text));
lblMensajeFile.Text = "El archivo: <b>" + archivo + "</b>, ha subido satisfactoriamente";
}
else
{
Directory.CreateDirectory("c:\\Inetpub\\wwwroot\\SABIO\\ArchivosDigitales\\");
lblIDArchivoDigital.Text = archivoDigital.Ingresar(txtTituloArchivoDigital.Text, System.Convert.ToInt32(cbolstFormatoDigital.SelectedValue));
string DireccionURL = "c:\\Inetpub\\wwwroot\\SABIO\\ArchivosDigitales\\"+txtTituloArchivoDigital.Text+"."+formato;
fleFicheros.PostedFile.SaveAs(DireccionURL);
archivoDigital.IngresarURL(System.Convert.ToInt32(lblIDArchivoDigital.Text), txtTituloArchivoDigital.Text+"."+formato, System.Convert.ToInt32(lblIdentificador.Text));
lblMensajeFile.Text = "El archivo: <b>" + archivo + "</b>, ha subido satisfactoriamente";
} }
catch (Exception exc)
{
lblMensajeFile.Text = "Error al intentar guadar: <b>" + archivo + "</b>. Error:" + exc;
}
txtTituloArchivoDigital.Text = "";
cargarArchivosDigitales(System.Convert.ToInt32(lblIdentificador.Text));
}
}
cuando lo ejecuto cómo localhost en mi máquina me funciona perfectamente y me sube los archivos, pero yo tengo un servidor virtual (windows server 2003) montado con virtual pc y quiero llevar mi aplicación al servidor virtual cierto? yo en el servidor tengo 2 aplicaciones una de prueba y la original entonces quiero montarlo en la de prueba entonces en mi aplicación le cambio antes de llevarla al servidor la ruta que en el servdior sería c:\\Inetpub\\wwwroot\\SABIOPRUEBAS\\ArchivosDigitales\\ y compilo y llevo la aplicación al servidor.
El problema se me presenta cuando ejecuto la aplicación desde mi servidor virtual o hasta desde un explorador de otro equipo cuando le doy en el botón subir para subir los archivos valga la redundancia me sale el siguiente error:
Error al intentar guadar: foto cronograma dias.doc. Error:System.UnauthorizedAccessException: Access to the path "c:\Inetpub\wwwroot\SABIOPRUEBAS\ArchivosDigitales\hhh.doc" is denied. at System.IO.__Error.WinIOError(Int32 errorCode, String str) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode) at System.Web.HttpPostedFile.SaveAs(String filename) at SABIO.UserControls.IngresoMonografia.cmdImgSubirArchivo_Click(Object sender, ImageClickEventArgs e) in c:\inetpub\wwwroot\sabio\usercontrols\ingresomonografia.ascx.cs:line 3917
y la verdad no entiendo el porque de este error.
Bueno a quién me pueda ayudar se lo agradezco de antemano.