2012-11-10 33 views
5

Tôi muốn mở tệp qua URL trong ứng dụng cửa hàng Win8. Dưới đây là mã.mở tệp qua URL trong ứng dụng cửa hàng Win8 sau khi tạo gói

var uri = new Uri(uriToLaunch); 
var options = new Windows.System.LauncherOptions(); 
options.TreatAsUntrusted = false; 
var success = await Windows.System.Launcher.LaunchUriAsync(uri, options); 

Thực ra, mã chạy tốt ở chế độ gỡ lỗi. Và theo cách đó, tập tin được mở ra.

Vấn đề là khi tôi xây dựng gói và cài đặt lại gói thông qua gói, tệp sẽ không mở. Tôi đã theo dõi giá trị thành công và trả về giá trị sai. Điều tương tự cũng xảy ra khi tôi cố gắng mở một tệp cục bộ, nó có thể được mở từ chế độ gỡ lỗi, nhưng không thành công sau khi xây dựng một gói.

Bất kỳ ai có kinh nghiệm để giải quyết?

+0

Mã chạy tốt trong Visual Studio, cả chế độ gỡ lỗi và chế độ phát hành. Nhưng khi tôi gỡ cài đặt ứng dụng và cài đặt lại ứng dụng thông qua gói, tệp sẽ không mở được. Tôi đã thử uri khác nhau, bao gồm một tập tin từ mạng LAN, một tập tin từ địa phương, và một hình ảnh từ web. Tất cả những điều này có thể được thực hiện trong VS, nhưng không ai trong số chúng có thể được mở bằng ứng dụng được cài đặt bởi gói. Các chức năng khác hoàn toàn tốt, bao gồm cả trang chính và ô xếp. – Nosen

+0

Tôi nghĩ rằng tôi có cùng một vấn đề. Điều duy nhất có vẻ như sửa chữa nó là thêm một tương tác UI (hiển thị hộp thoại tin nhắn, hoặc có một nút) mà khởi chạy mã của bạn. – kamranicus

Trả lời

1

Truy cập tệp/thư mục trực tiếp bị hạn chế trong ứng dụng Cửa hàng Windows. nó là một môi trường thực thi sandbox. Có các thư mục được chỉ định mà bạn có thể sử dụng để tạo và truy cập các tệp. cho bất cứ điều gì khác, bạn sẽ cần sự can thiệp của người dùng cuối.

xem xét các lớp: StorageFolder :: GetFileAsync, StorageFile :: OpenAsync và DataReader :: LoadAsync.

Các vấn đề liên quan