繁体   English   中英

简单的ftp下载器/ http代理

[英]Simple ftp downloader / http proxy

对于正在进行的项目,我需要提供对只有ftp访问权限的文件的http访问权限。 这是需要下载文件但仅支持http的外部服务。 我在下面尝试了此代码:但是CPU /内存使用率很高,并且逐渐消失。 有什么建议么?

using System;
using System.Web;
using System.Net;
using System.IO;

public class ftpproxy : IHttpHandler
{
    // ftpproxy.ashx?src=ftp://username:password@server.com/staticfiles/foo.f4v
    public void ProcessRequest (HttpContext context) {
        WebClient wc = new WebClient();
        string src = context.Request.QueryString["src"];
        using (Stream instr = wc.OpenRead(src))
        {
            instr.CopyTo(context.Response.OutputStream);
        }
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

}

谢谢!

哦,这些都是大文件(数百兆到几场演出)

您可以做的是使用WebClient端WriteFile中的DownloadFile方法。

string src = context.Request.QueryString["src"];
var file = "X:\TEMP\TempFile...";
WebClient client = new WebClient();
client.DownloadFile(src, file);

Context.Response.WriteFile(file);

//Write code to clean File;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM