【问题标题】:How to upload an image in Windows 8.1 metro application?如何在 Windows 8.1 Metro 应用程序中上传图像?
【发布时间】:2014-03-27 15:54:02
【问题描述】:

在我的 Metro 应用程序中,我想上传一个 image。实际上在button-click 上,应该打开文件资源管理器并提示输入图像。当用户选择任何图像时,我想使用image 标签在view 中显示它,并将其保存在服务器端。我有以下图像和按钮代码:

 <Border Margin="0,30,0,0" BorderThickness="2" BorderBrush="#FFAAA7A7" HorizontalAlignment="Center" Height="113">
            <Image Height="101" Source="temp.png" Margin="0,-2,0,10"/>
 </Border>
 <AppBarButton HorizontalAlignment="Center" Label="Upload Image" VerticalAlignment="Center" Icon="Camera" Width="178" Margin="0,0,0,0" Click="AppBarButton_Click" />

【问题讨论】:

  • 您的上传机制将取决于您的服务器端设计接收的内容。您还需要展示您迄今为止尝试过的内容?
  • 其实我在这方面什么都没做。只是放置了控件,仅此而已。你能告诉我如何上传文件吗?我的意思是如何显示文件资源管理器...@CathalMF

标签: c# windows-8 microsoft-metro windows-8.1


【解决方案1】:

您正在搜索 FilePicker 对话框。 Here 是一篇关于它的好文章。以下代码可以:

  • 打开文件选择器对话框
  • 为图像类型添加过滤器
  • 将图像保存在 StorageFile(您的应用程序的隔离存储 - details)中

此代码取自页面:

if (rootPage.EnsureUnsnapped())
  {
  FileOpenPicker openPicker = new FileOpenPicker();
  openPicker.ViewMode = PickerViewMode.Thumbnail;
  openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
  openPicker.FileTypeFilter.Add(".jpg");
  openPicker.FileTypeFilter.Add(".jpeg");
  openPicker.FileTypeFilter.Add(".png");

  StorageFile file = await openPicker.PickSingleFileAsync();
  if (file != null)
  {
    // Application now has read/write access to the picked file
    //OutputTextBlock.Text = "Picked photo: " + file.Name;
  }
  else
  {
    //OutputTextBlock.Text = "Operation cancelled.";
  }
}

【讨论】:

  • 谢谢!你现在能指导我如何在服务端处理上传的文件吗?我的意思是如何在服务器端上传它? @Jan Hommes
  • 服务器端用什么?在谈论服务器端时,您通常会谈论后端的数据服务(例如 WCF 数据服务或任何 REST 数据服务)。你用这样的东西吗?还是你的意思是你的代码?
  • 其实我是这个环境的新手,对西澳了解不多。我有一个图像的路径,现在我想将它保存在服务器端。即将其保存在服务器硬盘上的服务器指定路径上...@Jan Hommes
  • 您可以使用任何接受服务器上图像的数据服务。你的首选语言是什么?微软的技术是 WCF。但它非常复杂。如果你想要一些简单的东西并且你习惯了 javascript,那么从 node.js 开始。
  • 我正在使用 C# 并且了解 JavaScript。 @Jan Hommes
猜你喜欢
  • 2014-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
  • 1970-01-01
相关资源
最近更新 更多