C#:将文件上传到文件主机

时间:2012-07-11 18:06:19

标签: c# html file-upload upload web

我一直在尝试从我的应用程序上传文件到Fileshawk.com。 我是这样做的:

1-创建了一个Web浏览器控件

2-加载页面

3-在网页中它有一个文件的输入标签。

4-我尝试使用失败的方法将文件添加到HTML。

    private void Set_Text_TAG_INPUT(string attribute, string attname, string value)
    {
        // Get a collection of all the tags with name "input";
        HtmlElementCollection htmle = webBrowser1.Document.GetElementsByTagName("input");

        foreach (HtmlElement current in htmle)
        {
            if (current.GetAttribute(attribute).Equals(attname))
            {
                current.SetAttribute("value", value);
            }
        }
    }
    private void button1_Click(object sender, EventArgs e)
    {
        Set_Text_TAG_INPUT("id","upfile_1342028154587", "FILE.txt");
    }

所以它没有改变Input标签的值。

有没有办法将我的文件添加到HTML或页面代码中,关于按下上传我已经有一个调用Web浏览器按钮并单击它的方法。

例如,当您从输入文件标签中单击“选择文件”时,会弹出一个窗口并选择该文件,现在当您单击“确定”时,该文件存储在HTML中的哪个位置?

最后请原谅我,如果我是HTML和网络知识的新手。

2 个答案:

答案 0 :(得分:1)

这是浏览器中的安全功能。您无法以编程方式设置“file”类型的输入标记的值,因为它会引入安全漏洞(例如,恶意开发人员可以在处理提交事件之前设置值并获取他们想要的任何文件)。

答案 1 :(得分:0)

使用WebScrapper,一个C#.NET库轻松上传文件/下载文件,但您需要分析Fileshawk.com HTML以提供您自己的WebScrapper语法,共有22种文件主机语法可用于样本且已经可用

http://sorainnosia.com/Home/Article/WEBSCRAPPER