I would upload a file to onedrive, I created a method for signing , i insert wl.skydrive_update scope,the problem is in the upload method generates me an exception, I call the method with a button this is the code:
private async void upload_Click(object sender, RoutedEventArgs e)
{
if(defaultDb != null)
{
try
{
// Upload to OneDrive.
LiveUploadOperation uploadOperation = await connectClient.CreateBackgroundUploadAsync(folderId, "file.db", defaultDb, OverwriteOption.Rename);
LiveOperationResult uploadResult = await uploadOperation.StartAsync();
}
catch (LiveAuthException ex)
{
// Handle errors.
}
catch (LiveConnectException ex)
{
// Handle errors.
}
}
}
defaultDb is a StorageFile of the files I want to load.
folderId is the ID of the folder in OneDrive.
this is the exception:
Exception thrown: 'System.IO.FileNotFoundException' in mscorlib.ni.dll
thank you.
EDIT:
the problem is in the file to be uploaded, because if I select another file with the filepicker this is successful, instead, selecting my file that is in the folder localstate of application, is not working. it is possible that the reason why I can not upload it just because it is in the folder Localstate?
Related
I'm trying to open a PDF file, packaged inside app folder ("Assets"), in HoloLens (C#) app.
string imageFile = #"Assets\test.jpg";
var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile);
Debug.WriteLine("Opening file in path :" + file.Path);
if (file != null)
{
Debug.WriteLine("File found\nLaunching file...");
var options = new Windows.System.LauncherOptions();
options.DisplayApplicationPicker = true;
// Launch the retrieved file
var success = await Windows.System.Launcher.LaunchFileAsync(file);
if (success)
{
Debug.WriteLine("File launched successfully");
// File launched
}
else
{
Debug.WriteLine("File launch failed");
// File launch failed
}
}
else
{
Debug.WriteLine("Could not find file");
// Could not find file
}
Getting Access is Denied error.
Exception thrown: 'System.UnauthorizedAccessException' in mscorlib.ni.dll
System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at SchneiderDemoLibrary.HoloHelper.<DefaultLaunch>d__3.MoveNext() Exception caught.
Can someone help me to solve this issue? I simply want to open some file with the corresponding app associated with the file type.
Verify that the file is included in your project, and that the Build Action is set to "Content".
Switch to retrieving the IStorageFile reference via the StorageFile.GetFileFromApplicationUriAsync call.
The following code is working for me in a regular UWP application:
private async void OpenPdfButton_Click(object sender, RoutedEventArgs e)
{
var file = await StorageFile.GetFileFromApplicationUriAsync
(
new Uri("ms-appx:///Content/output.pdf")
);
await Launcher.LaunchFileAsync(file);
}
I have been trying to link a TextBox to an external text file in a Visual Studio 2012 Windows 8 store app and eventually be able to edit the contents of this TextBox afterwards with a SAVE button, but unfortunately i get the error which is shown in the link of the screenshot. I am running Windows 8 on a virtual machine !
[1]: http://i.imgur.com/gQWlIm4.png "ERROR
[2]: http://i.imgur.com/hHj9vXx.png "Place of the error in the designer page
COde that i am using for filling the TextBox:
private void Page_Loaded(object sender, RoutedEventArgs e)
{
LoadWords(#"Assets\AdminPageKS1words.txt");
}
async private void LoadWords(string filename)
{
var wordList = new List<String>();
// this method reads line separated words from a text file and populates a List object //
Windows.Storage.StorageFolder localFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
// begin the file read operation
try
{
// open and read in the word list into an object called words
StorageFile sampleFile = await localFolder.GetFileAsync(filename);
var words = await FileIO.ReadLinesAsync(sampleFile);
// add each word returned to a list of words declared
// globally as List wordList = new List();
foreach (var word in words)
{
wordList.Add(word);
}
List1.Text = string.Join(Environment.NewLine, wordList);
}
catch (Exception)
{
// handle any errors with reading the file
}
Code that i am using for the SAVE button:
async private void SaveButton_Click(object sender, RoutedEventArgs e)
{
// locate the local storage folder on the device
Windows.Storage.StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
// create a new text file in the local folder called “File.txt”
StorageFile sampleFile = await localFolder.CreateFileAsync("File.txt",CreationCollisionOption.ReplaceExisting);
// write text to the file just created – text comes from a textblock called wordlistBox
await FileIO.WriteTextAsync(sampleFile, List1.Text);
// display a message saying that file is saved.
messageLabel.Text = keystage + "File saved";
}
public string keystage { get; set; }
The code works for me, but you have a Try..Catch block which is effectively ignoring any exceptions. I'd suggest one of the following:
- Add a breakpoint to the start of Page_Loaded to check that it's actually being called, then step through the code to see whether there's an exception.
- Modify your Catch Block to write out the error information:
catch (Exception ex)
{
messageLabel.Text = ex.Message;
}
I have few pdf in a folder say Data/PDF/abc.pdf.
I am trying to open PDF with the below code:
private async void LaunchPDFNew(string name)
{
string imageFile = #"Data/PDF/"+name+".pdf";
// Get the image file from the package's image directory
var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile);
if (file != null)
{
bool success = await Windows.System.Launcher.LaunchFileAsync(file, options);
if (success)
{
// File launched
Debug.WriteLine("File Launched");
}
else
{
// File launch failed
Debug.WriteLine("File Launched Failed");
}
}
else
{
// Could not find file
Debug.WriteLine("Could not find the file");
}
}
It gives me Error:
A first chance exception of type 'System.ArgumentException' occurred in mscorlib.ni.dll
An exception of type 'System.ArgumentException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary
I have tried with the solution given in below link as well
Launching PDF reader on windows phone 8
But neither of them is working.How to fix this ?
For all those people where they are not able to open the PDF.
1) Assming there's a file called "abc.pdf" in the project, with the Build Action set to Content, with Copy to Output Directory set to Copy if Newer)
2) If the pdf file is in the directory then use \ and not /, so
string file = #"Data/PDF/"+name+".pdf";
should be
string file = #"Data\PDF\"+name+".pdf";
3) And finally use this:
private async void LaunchPDF(string name)
{
string file = #"Data\PDF\"+name+".pdf";
// Get the image file from the package's image directory
var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile);
if (file != null)
{
bool success = await Windows.System.Launcher.LaunchFileAsync(file);
if (success)
{
// File launched
Debug.WriteLine("File Launched");
}
else
{
// File launch failed
Debug.WriteLine("File Launched Failed");
}
}
else
{
// Could not find file
Debug.WriteLine("Could not find the file");
}
}
I want to be able to open a PDF using the native Windows Reader Application when a user clicks on a button. So far I am able to use the following code to successfully open files that end with the (.PNG) extension. However, when I let the link to open the (.PDF) file I get the following error.
The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
The file destination is correct.
Here is my code:
private async void btnLoad_Click(object sender, RoutedEventArgs e)
{
// Path to the file in the app package to launch
string imageFile = #"Data\Healthcare-Flyer.pdf";
var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile);
if (file != null)
{
// Set the option to show the picker
var options = new Windows.System.LauncherOptions();
options.DisplayApplicationPicker = true;
// Launch the retrieved file
bool success = await Windows.System.Launcher.LaunchFileAsync(file, options);
if (success)
{
// File launched
}
else
{
// File launch failed
}
}
else
{
// Could not find file
}
}
}
When you add PDF document in project, you have to change it's build action.
Right click on PDF document.
Click on properties.
Change Build Action from None to Content
I want to open a pdf file in winRT app(metro style app) by clicking on a button the file should open in windows8 default reader. I tried this code, where button click method name is DefaultLaunch_click():
async void DefaultLaunch_click()
{
// Path to the file in the app package to launch
string imageFile = #"images\ret.png";
// Get the image file from the package's image directory
var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile);
if (file != null)
{
// Set the recommended app
var options = new Windows.System.LauncherOptions();
options.PreferredApplicationPackageFamilyName = “Contoso.FileApp_8wknc82po1e”;
options.PreferredApplicationDisplayName = “Contoso File App”;
// Launch the retrieved file pass in the recommended app
// in case the user has no apps installed to handle the file
bool success = await Windows.System.Launcher.LaunchFileAsync(file, options);
if (success)
{
// File launched
}
else
{
// File launch failed
}
}
else
{
// Could not find file
}
}
It worked for .png file but i want for .pdf file i replaced 1.png with M.pdf(after including it in images folder) and set the build content of M.pdf to Embedded Resource , run the program but it showed error that
**The system cannot find the file specified. (Exception from HRESULT: 0x80070002)**
This code works for me after I set PDF file build action to content and copy always to output directory.
private async void Button_Click(object sender, RoutedEventArgs e)
{
string imageFile = #"images\somepdffile.pdf";
// Get the image file from the package's image directory
var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile);
if (file != null)
{
bool success = await Windows.System.Launcher.LaunchFileAsync(file, options);
if (success)
{
// File launched
}
else
{
// File launch failed
}
}
else
{
// Could not find file
}
}