2010-08-13 3 views
1

Я сохранил страницу aspx как html, она работала на моем локальном компьютере, но после опубликования на сервере была показана ошибка, при которой «доступ к пути запрещен» ... Я попытался предоставить разрешение доступа, а затем он не работает. Может ли кто-нибудь помочь с этим? или еще есть какой-либо другой способ, чтобы сохранить страницу в C# asp.net? ...Загрузите и сохраните страницу aspx

string url=HttpContext.Current.Request.Url.AbsoluteUri; 
string sHtml=""; 
HttpWebRequest request; 
HttpWebResponse response=null; 
Stream stream=null; 

request=HttpWebRequest)WebRequest.Create(url); 
response=(HttpWebResponse)request.GetResponse(); 
stream=response.GetResponseStream(); 
StreamReader sr=new StreamReader(stream,System.Text.Encoding.Default); 
sHtml=sr.ReadToEnd(); 

string path=Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 
string textfilename=TextBox1.Text; 
string getpath=path+"\\"+textfilename+".html"; 
File.WriteAllText(getpath,sHtml); 

if(stream!=null)stream.Close(); 
if(response!=null)response.Close(); 

путь Спасибо ..

+0

Где вы экономите? в БД или только в HTML-файле? – anishMarokey

+0

Я сохраняю файл html – Leema

+0

Зависит от способа его сохранения, вам нужен код здесь, чтобы рассказать вам больше. – Aristos

ответ

1

Если вам нужно сохранить файл использовать это, чтобы получить приложение

Server.MapPath(@"filename.txt"); 

Попробуйте это, потому что, когда вы только пишете имя файла на веб-сервере, вы пытаетесь получить доступ к папке Microsoft.Net.

0

да убедитесь, что папка, в которую вы пишете, имеет соответствующие права. IIS 5 использует учетную запись ASPNET, IIS6 использует сетевое обслуживание. Просто дайте чтение/запись надлежащей учетной записи. Является ли это вашей средой разработки или рабочей средой?

Кроме того, убедитесь, что он указывает на папку; папка рабочего стола для учетной записи ASPNET, вероятно, не будет существовать, поскольку учетная запись ASPNET не является пользователем с папкой пользователей.

+0

Я дал разрешение на доступ, а затем он не работает. – Leema

+0

Вы изменили путь из thsi Environment.GetFolderPath (Environment.SpecialFolder.Desktop) ... Рабочий стол, вероятно, не будет работать с его специальной учетной записи; попробуйте другую папку. –

+0

Привет, ваше предложение в порядке. Но мне нужно сохранить страницу на рабочем столе пользователя, кто бы это ни был. Как я могу это сделать? – Leema

0

У меня была аналогичная проблема при попытке развернуть CSS из ZIP, загруженного из Интернета. Попробуйте щелкнуть правой кнопкой мыши по файлу aspx из проводника Windows и проверить свойства файла. Одна из вкладок может указывать на то, что файл был заблокирован. Если да, там будет кнопка, чтобы разблокировать ее.

Смежные вопросы