在C#的C/S结构中,怎么实现拖拽多个文件,实现把本地文件上传到数据库中,有控件么?求高手指点下。

如果能够实现的话,还可以获得更多的财富值。... 如果能够实现的话,还可以获得更多的财富值。 展开
 我来答
qiushiji
2013-08-27 · TA获得超过502个赞
知道小有建树答主
回答量:560
采纳率:100%
帮助的人:520万
展开全部

首先设置Form的AllowDrop=true

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void btnStart_Click(object sender, EventArgs e)
    {
    }

    private void Form1_DragEnter(object sender, DragEventArgs e)
    {
        if (e.Data.GetDataPresent(DataFormats.FileDrop))
        {
            e.Effect = DragDropEffects.Link ;
        }
        else
        {
            e.Effect = DragDropEffects.None;
        }
    }

    private void Form1_DragDrop(object sender, DragEventArgs e)
    {
        string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
        // 接下来可以通过filestream来上传文件。
    }
}

在DragDrop事件中能够得到拖放到窗体上的文件路径,然后使用filestream就可以上传了。

百度网友fcbb515
2013-08-27
知道答主
回答量:78
采纳率:0%
帮助的人:23.4万
展开全部
设置窗体的AllowDrop=True DragEnter事件设置拖动文件时鼠标样式 DragDrop事件中接收拖动的文件,数据库中设置文件类型为image,将文件以2进制的形式保存到数据库中!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1860d11
2013-08-27 · 超过14用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:25.4万
展开全部
只给你一个思路 拖拽记住名字 根据名字上传
追问
有没有相关控件
追答
   private void textBox1_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                e.Effect=DragDropEffects.Link;
            }
            else
            {
                e.Effect=DragDropEffects.None;
            }
        }

        private void textBox1_DragDrop(object sender, DragEventArgs e)
        {
           string[]  paths = (string[])e.Data.GetData(DataFormats.FileDrop);
           这地方可以对paths进行遍历存入数据库操作
           网上代码很多
        }

如果还想做打开弹出框形式的 

自己添加一个按钮写一个opendialog

我的这个控件是一个textbox

其他控件也可以这么操作

没有那么麻烦  不像web

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式