我有下一个代码:
从理论上讲,这应该会创建一个带有附件的电子邮件。但我得到了错误:
错误:
App.exe中出现'System.Exception‘类型的异常,但未在用户代码WinRT信息中进行处理:无法从传入的对象创建StorageItems。其他信息:类型不匹配。无法从传入的对象创建StorageItems。如果存在针对此异常的处理程序,则程序可以安全地继续运行。
代码:
internal async void OnDataReq(DataProviderRequest request)
{
var defferal = request.GetDeferral();
var file = await Windows.Storage.ApplicationData.Current.LocalFolder.GetFileAsync("SCLogFile.txt");
request.SetData(RandomAccessStreamReference.CreateFromFile(file));
defferal.Complete();
}
private async void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs e)
{
e.Request.Data.Properties.Title = "THIS IS A TITLE";
e.Request.Data.Properties.Description = "THIS IS A DESCRIPTION";
e.Request.Data.Properties.FileTypes.Add(".txt");
e.Request.Data.SetDataProvider(StandardDataFormats.StorageItems, OnDataReq);
}发布于 2014-01-06 16:25:01
尝试使用此代码来共享文件。
private async void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs e)
{
e.Request.Data.Properties.Title = "THIS IS A TITLE";
e.Request.Data.Properties.Description = "THIS IS A DESCRIPTION";
e.Request.Data.Properties.FileTypes.Add(".txt");
var file = await Windows.Storage.ApplicationData.Current.LocalFolder.GetFileAsync("SCLogFile.txt");
e.Request.Data.SetStorageItems(file);
}MSDN sample
发布于 2015-07-11 01:04:51
我也遇到过同样的问题,问题是数据请求需要一个IEnumerable<StorageItems>,而您正在发送一个流。
我改变了你的功能。这对我很有效
internal async void OnDataReq(DataProviderRequest request) { var defferal = request.GetDeferral(); var file = await Windows.Storage.ApplicationData.Current.LocalFolder.GetFileAsync("SCLogFile.txt"); request.SetData(new[] {file}); defferal.Complete(); }
https://stackoverflow.com/questions/20945328
复制相似问题