1
我有下面的代码是一个Base64字符串转换为PDF文件,保存它,然后尝试打开它:版本创建的文件
//Converts the Base64 data to bytes
byte[] bytes = Convert.FromBase64String(Base64String);
//Stores the converted Base64 data in the application's Local Resource directory, in PDF format
StorageFolder folder = ApplicationData.Current.LocalFolder;
string fileName = file.pdf";
CreationCollisionOption options = CreationCollisionOption.FailIfExists;
var file = await folder.CreateFileAsync(fileName, options);
var fs = await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite);
var outStream = fs.GetOutputStreamAt(0);
var dataWriter = new Windows.Storage.Streams.DataWriter(outStream);
dataWriter.WriteBytes(bytes);
await dataWriter.StoreAsync();
dataWriter.DetachStream();
await outStream.FlushAsync();
string pdfPath = folder.Path + "\\" + fileName;
StorageFile fileToLaunch = await StorageFile.GetFileFromPathAsync(pdfPath);
await Windows.System.Launcher.LaunchFileAsync(fileToLaunch);
当文件在Adobe Reader中打开,有一个消息称该文件仍在被另一个应用程序使用。如何让我的应用程序“释放”文件,Adobe可以打开它?请注意这是一个Windows 8应用程序。
我试过,但得到了同样的错误。我也试过: 'var outStream = fs.GetOutputStreamAt(0); var dataWriter = new Windows.Storage.Streams.DataWriter(outStream); dataWriter.WriteBytes(bytes); await dataWriter.StoreAsync(); dataWriter.DetachStream(); await outStream.FlushAsync(); outStream.Dispose(); 但这也没有奏效。 – Cheese1223 2013-02-23 15:16:56
我已经得到了它现在我会在一秒内发布答案,这确实有很大的帮助,虽然谢谢! :) – Cheese1223 2013-02-23 15:22:48