gpt4 book ai didi

c# - 文件名路径中撇号代码的特殊字符替换

转载 作者:太空宇宙 更新时间:2023-11-03 13:28:34 26 4
gpt4 key购买 nike

我遇到的问题是关于在服务器上生成的文件,.NET 代码正在调用 Javascript 方法将文件下载到客户端,但如果文件名有撇号则失败(').

例如:

如果 ExportExcelFileName = "C:\HereIsMyFile.xls" 它工作正常。但是,如果 ExportExcelFileName = "C:\Here'sMyFile.xls"

它抛出评估失败的异常。

我尝试添加 [.Replace("'", "\\'")][.Replace("'", "%27")]但没有运气......

string script = string.Format("DownLoadFile('{0}')", e.Result.ExportExcelFileName).Replace('\\', '/');
HtmlPage.Window.Eval(script);

最佳答案

我想通了:

当我尝试这样做时:

string script = string.Format("DownLoadFile('{0}')", e.Result.ExportExcelFileName).Replace('\\', '/').Replace("'", "\\'");
HtmlPage.Window.Eval(script);

它还替换了 DownloadFile('{0}') 的 javascript 命令中的单引号。

所以我只是像这样首先进行了替换:

var escapedFileName = ((e.Result.ExportExcelFileName).Replace('\\', '/')).Replace("'", "\\'");
string script = string.Format("DownLoadFile('{0}')", escapedFileName);
HtmlPage.Window.Eval(script);

关于c# - 文件名路径中撇号代码的特殊字符替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21439761/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com