在asp.net中打开名为ambersand的文件时出错
本文关键字:ambersand 文件 出错 net asp | 更新日期: 2023-09-27 18:29:05
我在打开介于两者之间的ambersand文件时遇到问题。
var attachment = "attachment;" + "&test& incident&.txt";
HtmlPage.Window.CreateInstance("foo2", new object[] { Id.ToString(), attachment });
function foo2(theAlert, type) {
alert(type);
window.open('fileViewer.aspx?Id=' + theAlert + '&Type=' + type);
}
当我试图在另一个页面中获取类型时,我只得到了"attachment;",因为它使用了与号之前的单词。并且缺少我的文件名。如果我给出的文件名没有和号,我在打开文件时没有任何问题。
有人帮我吗?
提前谢谢。
您可以使用encodeURIComponent
encodeURIComponent()函数对URI组件进行编码。
此函数对特殊字符进行编码。此外,它对进行编码
以下字符:,/?:@&=+$#
window.open('fileViewer.aspx?Id=' + theAlert + '&Type=' + encodeURIComponent(type));
尝试以下操作:
window.open("fileViewer.aspx?Id=" + theAlert + "&Type=" + encodeURIComponent(type));
从encodeURI更改为encodeURIComponent:
- encodeURI用于完整的URI
- encodeURIComponent旨在用于。。好URI组件,它是位于分隔符之间的任何部分(;/?:@&=+$,#)