나는 응용 프로그램을 개발 중이며 clientbin 폴더가 아닌 내 서버에있는 폴더에있는 이미지를로드합니다. 나는 이런 것을 할 것이다 BitmapImage bit = 새로운 BitmapImage(); 문자열 경로 = "c : /image.png"; bit.UriSource = new Uri (경로, UriKind.Absolute); identity.Source = bit; 하지만 작동하지 않습니다. 아무 생각 없나요? 감사로드 이미지가 xap 없음 Silverlight
1
A
답변
1
시도 :
Image.Source = 새 Imaging.BitmapImage (새로운 열린 우리당 ("http://www.Pic.jpg", UriKind.Absolute))
당신은 당신의 프로젝트 또는 그것을 포함하지 않습니다. xap은 커질 것이다.
0
Silverlight 응용 프로그램은 서버가 아니라 클라이언트에서 실행되므로 수행하려는 경로를 참조하면 실제로 응용 프로그램을 실행중인 클라이언트 컴퓨터의 경로를 가리 킵니다. 그러나 Silverlight에는 보안상의 이유로 인해 클라이언트의 디스크를 읽거나 쓸 수있는 권한이 없습니다. Isolated Storage 기능은 예외입니다.
따라서 Bill 또는 WebService가 제공하는 첫 번째 응답을 구현하는 것이 좋습니다. 구현하기가 더 복잡합니다.
ib.
0
Bill의 답변에 추가하십시오. xap 파일의 위치에서 파생 된 다음 도우미 메서드를 사용하여 서버 측 리소스를 사용할 수도 있습니다.
Image.Source = new Imaging.BitmapImage(new Uri(GetUrlForResource("images/myimage.png"), UriKind.Absolute));
:
public static string GetUrlForResource(string resourcePage)
{
var webUrl = Application.Current.Host.Source.ToString();
//Get ClientBin Directory
var stub = webUrl.Substring(0, webUrl.LastIndexOf("/"));
//Get application root.
stub = stub.Substring(0, stub.LastIndexOf("/") + 1);
//Append the application root to the resource page.
webUrl = stub + resourcePage;
return webUrl;
}
빌의 대답처럼 사용하려면 다음을 사용