Silverlight中的文件上载

Silverlight中的文件上载,silverlight,Silverlight,我想在Silverlight 4的服务器上上传一个特定的文件 简单地说,要上传任何文件,我们可以使用“浏览”按钮。 当你点击这个按钮时,我们可以得到文件目录并选择任何文件&我们可以上传特定的文件 我在浏览按钮上进行了编码 private void btnBrowse_Click(object sender, RoutedEventArgs e) { var fileDialog =new OpenFileDialog(); fil

我想在Silverlight 4的服务器上上传一个特定的文件

简单地说,要上传任何文件,我们可以使用“浏览”按钮。 当你点击这个按钮时,我们可以得到文件目录并选择任何文件&我们可以上传特定的文件

我在浏览按钮上进行了编码

 private void btnBrowse_Click(object sender, RoutedEventArgs e)
        {
            var fileDialog =new OpenFileDialog();
            fileDialog.ShowDialog();
            fileDialog.Multiselect = true;
            txtUploader.Text = fileDialog.File.DirectoryName;
            fileDialog.File.CopyTo("C:/UploadedFiles");
        } 
这里的问题是,只有对话框打开 无法选择多个文件, 没有得到路径,
无法将文件上载到指定位置。

请尝试更改设置框的顺序

您还返回了一个对象。如果要返回多个文件,则需要使用文件而不是文件,它将返回FileInfo对象的集合。然后,您可以遍历集合以获取信息。在测试代码时,我在读取文件路径时遇到了一个安全异常,您没有按照@MattGreer的注释执行所需的权限

编辑添加自@AnthonyWJones评论

除了创建一个具有提升信任度的OOB之外,没有任何方法可以完成您要做的事情,这将限制您使用users MyDocuments文件夹

private void btnBrowse_Click(object sender, RoutedEventArgs e) 
    { 
        var fileDialog =new OpenFileDialog(); 
        fileDialog.Multiselect = true; 
        fileDialog.ShowDialog(); 

        IEnumerable<System.IO.FileInfo>  files = fileDialog.Files;
        foreach (System.IO.FileInfo fi in files)
        {
           txtUploader.Text = fi.DirectoryName;
           fi.CopyTo("C:/UploadedFiles");     
        }
    }  

private void btnBrowse\u单击(对象发送者,路由目标)
{ 
var fileDialog=新建OpenFileDialog();
fileDialog.Multiselect=true;
fileDialog.ShowDialog();
IEnumerable files=fileDialog.files;
foreach(文件中的System.IO.FileInfo-fi)
{
txtUploader.Text=fi.DirectoryName;
fi.CopyTo(“C:/UploadedFiles”);
}
}  

我已经有一段时间没有使用SL了,但我确实记得从用户机器上选择文件受到了严格的安全限制。用C:\path调用CopyTo并不是真的在上传它,C:\path将在用户的机器上(这几乎肯定是一个你无法访问的路径,要引导)@Mark:没有任何方法可以获得“权限”到SL中代码的其余部分正在做什么。最接近的方法是将其作为OOB,并提高信任度,并在用户
MyDocuments
区域内移动文件。@AnthonyWJones感谢您提供的信息,将修改答案以说明此情况。@AnthonyWJones什么是OOB(脱离浏览器?)如果是,那么就没有任何可能的方式通过浏览器获得权限了吗?