2012-05-21 39 views
3

即时做一个项目,我应该从一个来源获取一半图像,从另一个来源获取另一半图像,然后将它们合并在一起。如何在javascript中获取HttpWebRequest范围?

在C#中它的工作原理是这样的:

HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create("URL"); 
request1.AddRange(0, 10000); 
HttpWebRequest request2 = (HttpWebRequest)WebRequest.Create("URL2"); 
request2.AddRange(10000, 20000); 

,然后我读的流,把它们合并成一个缓冲区,缓冲区写入到文件中。

现在我必须创建一个插件,做同样的事情, 据我所知,我可以用JavaScript创建一个Firefox扩展。

你认为可以在JavaScript中做同样的事情吗?或者我应该搜索另一种方法?我甚至不知道如何创建一个插件,所以我不知道我是否可以使用一些编程语言(也许我甚至可以使用C#或Java来直接创建一个Firefox插件) 你能给我一些提示吗?非常感谢

+0

什么是你试图做多一点是什么呢?无论如何,JavaScript中的操纵流并不是真的可行。像plupload这样的插件使用POST; Silverlight或Flash注入代理;管理数据流。另外,你可以使用jQueries'$ .get','$ .load'或'$ .post',但它不过是AJAX(更多你想要的)或POST – ppumkin

+0

我需要一个监听http连接的插件,即时消息下载文件,它首先下载头文件,如果它匹配一些必要条件,则将请求发送到另一个像跟踪器(torrent服务器)一样工作的服务器。然后只从主服务器下载文件的一部分,从其他客户端下载其他部分的文件,这些文件将会上传该文件....基本上,这是一个可以转换对等客户端 - 服务器架构的插件 – Simone

+0

您需要两个服务/处理程序来处理那么......你的客户只会做一些简单的ajax和一个对象来告诉它该做什么(在我的脑海里,这是简单的方法和最安全的),但请告诉更多的原因,这个问题的答案需要更多的细节。 。即使oyu使用另一个例子 – ppumkin

回答

3

是的,你可以肯定用Ajax做

给你

Link

$(function() { 
    $.ajax({ 
    url: 'range-test.txt', 
    headers: {Range: "bytes=618-647"}, 
    success: function(data) { $('#results').html(data); } 
    }); 
}); 
+0

酷!你能不能读一下我的最后一条评论,告诉我是否可以在Ajax中做到这一点?因为如果你告诉我,可能我会开始学习如何在ajax中创建Firefox扩展 – Simone

+0

嗯,我不知道Firefox的扩展,但因为他们肯定可以做比正常更多的JavaScript我看不出为什么它不应该是可能。我可以问你为什么不使用c#并选择为FF创建一个插件?在我看来,这个项目更适合于强大的语言,如c#或java,而不是js – Lakis

+0

哦,这是因为我需要它作为浏览器内的自动工具...如果我把它做成它比我需要每个客户端运行我的应用程序,但如果它只是一个扩展名,每个人都拥有一个浏览器^^ – Simone