c# - 将二进制字符转换为 jQuery 可以使用的内容

标签 c# javascript jquery

我正在使用BinaryWrite HttpResponse 类的方法来获取网页。

与示例类似的内容...

FileStream MyFileStream;
long FileSize;

MyFileStream = new FileStream("APage.html", FileMode.Open);
FileSize = MyFileStream.Length;

byte[] Buffer = new byte[(int)FileSize];
MyFileStream.Read(Buffer, 0, (int)FileSize);
MyFileStream.Close();

Response.BinaryWrite(Buffer);

然后我使用 jQuery ajax 方法来获取该响应。但我用它做任何事都遇到困难 - 所以如果我……

$.ajax({
    type: "GET",
    url: "GetUrl.Proxy",
    data: { url: 'http://www.example.org/test.html' },
    success: function(data) {
        $('iframe').contents().find('html body').html(data.toString());
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
    alert(errorThrown);
    }
 });

这会返回一个二进制字符流,我想要的是 jQuery 可以用来设置 html 元素的东西。

最佳答案

首先设置内容类型:

Response.Clear();
Response.ContentType = "text/html";
...

针对查找文件内容类型的问题:

string mt = "application/unknown";
string ext = Path.GetExtension(filename).ToLower();
var regKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(ext);
if (regKey != null) {
  var tempMt = regKey.GetValue("Content Type");
  if (tempMt != null) {
    tempMt = regKey.GetValue("Content Type").ToString();
  }
}

就我个人而言,我可能只会使用可能的扩展名和类型执行 switch 语句...

关于c# - 将二进制字符转换为 jQuery 可以使用的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4491732/

相关文章:

javascript - 如何在asp.net中获取动态创建的文本框Web控件的值

c# - 如何在 .NET 3.5 中再次使 StringBuilder 为空?

javascript - 某些链接上的 FancyBox 导航

jquery - iframe 高度自动调整大小

jquery - 需要帮助构建页面

c# - 尝试使用 C# 连接到 mysql 数据库

c# - 通过该单元格顶部的突出显示后如何保持单元格的背景颜色?

javascript - 控制未到达 .js 函数

javascript - 监控来自 IE BHO 的 ajax 调用

javascript - 根据其他选择显示选择列表