2012-05-08 126 views
0

我嘗試上傳一個圖像(由FileOpenPicker選擇),但它不起作用。BackgroundUploader拋出COMException:ERROR_INTERNET_LOGIN_FAILURE

我的代碼:

var openpicker = new FileOpenPicker(); 
openpicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary; 
openpicker.FileTypeFilter.Add(".jpg"); 
openpicker.FileTypeFilter.Add(".png"); 
var file = await openpicker.PickSingleFileAsync(); 

var uploader = new Windows.Networking.BackgroundTransfer.BackgroundUploader(); 

PasswordCredential pw = new PasswordCredential(); 
pw.Password = "mypw"; 
pw.UserName = "user"; 

uploader.ServerCredential = pw; 

uploader.Method = "POST"; 
var uri = new Uri("ftp://myaddress/Directory/"); 

var str = await file.OpenAsync(Windows.Storage.FileAccessMode.Read); 
await uploader.SetSourceStreamAsync(str); 
uploader.SetRequestHeader("Filename", "image2.jpg"); 
var upload = uploader.CreateUpload(uri); 

var result = (await upload.StartAsync()).GetResponseInformation().StatusCode; 

我得到的最後一行以下異常:

System.Runtime.InteropServices.COMException(0x80072EEF):0x80072EEF
在系統:從HRESULT異常.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotificat ion(Task task)

0x80072EEF是ERROR_INTERNET_LOGIN_FAILURE:

「連接和登錄失敗的FTP服務器的請求。」

任何想法我做錯了什麼?

+0

您是否嘗試過'await' * asynchronous * upload操作的結果? – dtb

+0

是的。但行爲是一樣的。它不起作用。 – user1011394

+0

'(await upload.StartAsync())。GetResponseInformation()。StatusCode'的值是什麼? – dtb

回答

0

我有完全相同的問題。儘管這個問題有點老,但我在尋找答案時被引導到了這裏。

我發現所描述的是here它爲我工作。 基本上BackgroundDownloader在設置ServerCredentials時似乎失敗...

+0

更好地提供鏈接的細節,以便將來如果鏈接將發生變化,那麼它不會產生影響。 –

相關問題