路径c#错误中的非法字符

本文关键字:非法 字符 错误 路径 | 更新日期: 2023-09-27 17:54:02

我得到错误

路径

中的非法字符

表示下面的代码。请帮帮我。

response.Clear();
response.Charset = "";
Response.ContentEncoding = System.Text.Encoding.Default;
// set the response mime type for excel
response.ContentType = "application/vnd.ms-excel";
string sFileName = "Testeeeeee.xls";
response.AddHeader("Content-Disposition", "attachment;filename='"" + sFileName + "'"");
// create a string writer
using (StringWriter sw = new StringWriter())
{
    using (HtmlTextWriter htw = new HtmlTextWriter(sw))
    {
        // instantiate a datagrid
        DataGrid dg = new DataGrid();
        dg.DataSource = DS.Tables[0];
        dg.DataBind();
        dg.RenderControl(htw);
        string sPath = @"E:'CR-12'Test.xls";
        File.WriteAllText(sw.ToString(), sPath);// I get the error at this line
        response.End();

路径c#错误中的非法字符

参数倒置。按以下步骤执行:

File.WriteAllText(sPath,sw.ToString());

您混淆了File.WriteAllText的参数。第一个是路径,第二个是内容。你需要

File.WriteAllText(sPath, sw.ToString());

的调用
File.WriteAllText(sw.ToString(), sPath);

参数顺序错误。应该是

File.WriteAllText(sPath, sw.ToString());

对于收到此错误的其他人,请确保正确使用反斜杠,因为它们也是转义字符。单个反斜杠可能导致此错误。使用两个反斜杠来正确输出一个转义的反斜杠

,

System.IO.File.WriteAllText("C:''file.txt", output);

这个问题可能与安全有关。你的网页不会默认访问E盘