ASP.NET MVC用Chilkat刷新DropBox令牌时遇文件打开失败错误
解决Chilkat LoadFile找不到DropBox令牌文件的问题
问题原因
你用相对路径qa_data/tokens/dropbox.json加载文件,但ASP.NET MVC在IIS托管环境下,默认工作目录是IIS的系统目录(比如C:\Windows\SysWOW64\inetsrv),不是你的项目根目录,所以系统找不到指定路径的文件。
解决方案
使用项目根目录的绝对路径
在Controller中可以用Server.MapPath获取网站根目录的物理路径,拼接文件路径:// 在Controller内 string filePath = Server.MapPath("~/qa_data/tokens/dropbox.json"); Chilkat.JsonObject json = new Chilkat.JsonObject(); bool success = json.LoadFile(filePath);如果是在非Controller类中,使用
HostingEnvironment.ApplicationPhysicalPath获取项目物理根目录:using System.Web.Hosting; using System.IO; // ... string rootPath = HostingEnvironment.ApplicationPhysicalPath; string filePath = Path.Combine(rootPath, "qa_data", "tokens", "dropbox.json"); Chilkat.JsonObject json = new Chilkat.JsonObject(); bool success = json.LoadFile(filePath);确保文件被复制到输出目录
在Visual Studio中找到dropbox.json文件,右键属性,将复制到输出目录设置为始终复制或如果较新则复制,这样发布或运行时文件会被复制到网站根目录对应的路径下。检查路径拼写与文件夹结构
确认项目中确实存在qa_data/tokens文件夹,且dropbox.json文件放置正确,路径拼写无大小写或字符错误(Windows路径不区分大小写,但最好保持一致)。
内容的提问来源于stack exchange,提问作者Ann
相关产品推荐
相关产品推荐

