-----------------这是上传文件的代码(开始)------------------------
if(exName.ToUpper()==".DOC")
{
strFilePath=GetFilePath();
strFilePath=strFilePath+".doc";
wordPath="/html/"+ViewState["FileName"]+".doc";
fileWord.PostedFile.SaveAs(strFilePath);
educeWord objWord=new educeWord(); Microsoft.Office.Interop.Word.Document doc=objWord.OpenWord(strFilePath);
strFilePath=strFilePath.Replace(Path.GetExtension(strFilePath),".html");
objWord.saveWordToHtml(doc,strFilePath);
objWord.closeWord(doc);
FileStream fs= File.OpenRead(strFilePath);
StreamReader sr=new StreamReader (fs,System.Text.UnicodeEncoding.GetEncoding"GB2312"));

[email protected]();
sr.Close();
fs.Close();
}
else
{
Response.Write("<script>alert('必须上传word文件!')</script>"); 
return;
}
-----------------这是上传文件的代码(结束)------------------------objWord.OpenWord(strFilePath)
这个方法是:
/// <summary>
///打开word文档,生成docment对象
/// </summary>
/// <param name="strFilePath">要打开文件的路径</param>
/// <returns>word的documnet对象</returns>
public Microsoft.Office.Interop.Word.Document OpenWord(string strFilePath)
{
if(!System.IO.File.Exists(strFilePath))
{
throw new Exception("文件路径不存在!");
return null;
}
object fileName=(object)strFilePath;
object isVisible=System.Type.Missing;
object readOnly=true;
object missing=System.Type.Missing;
_wordApp=new Microsoft.Office.Interop.Word.ApplicationClass();
_wordApp.Visible=false;
Microsoft.Office.Interop.Word.Document doc=null;
try
{
doc=_wordApp.Documents.Open(ref fileName,ref missing,ref readOnly,ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,ref isVisible,ref missing,ref missing,ref missing,ref missing);
return doc;
}
catch(Exception ex)
{
throw new Exception(ex.Message);
return null;
}
}
运行的时候,
_wordApp=new Microsoft.Office.Interop.Word.ApplicationClass();
这一行就报错勒:拒绝访问。但是word文件已经上传到html文件夹内了。
-----------------------------------------------------------------
我把html文件属性里的安全里的everyone都设置了允许,还是不行,如何修改?

解决方案 »

  1.   

    添加internet匿名用户对这个文件夹的权限
      

  2.   

    需设置asp.net用户对目录的可写权限
      

  3.   

    文件夹上右击->属性->安全->添加EVERYONE用户的可写选项
      

  4.   

    试过了,不行。
    我用的是03系统,everyone和network service都设置了,
    还是不行。
      

  5.   

    03只要设network service就行了,根目录设置时,有个高级点过去,在列表内选择network service,然后将
    "用在此显示得可以应用到子对象得项目替代所有子对象的权限" 打勾确定即可