2010-05-24 31 views
8

Sunucuya bir görüntü iletebilmesi gereken bir SL3 uygulamasına sahibim ve sunucu içindeki görüntüyü içeren bir PDF dosyası oluşturur ve bunu kullanıcıya gösterir. Zaten bir yerde ne varGörüntüyü sunucuya aktarmanın en iyi yolu?

şunlardır:

(1) Kod bayt dizisine görüntüyü dönüştürmek için (2) Kod ben çalıştırıyorum resmin

temel sorun ile PDF dosyası oluşturmak için şudur içine:

var button = new NavigationButton(); 

button.NavigateUri = new Uri("http://localhost:3616/PrintReport.aspx?ReportIndex=11&ActionType=Get&ReportIdentifier=" + reportIdentifier.ToString() + ""); 

button.TargetName = "_blank"; 

button.PerformClick(); 
: my uygulama için bir gerekliliktir pop-up engelleyicisi, baypas etmek için

, ben aşağıdaki kodu kullanıyorum

İlk olarak, görüntüyü bir WCF web hizmetine (bayt dizisi olarak) geçirir ve daha sonra raporu görüntüleyecek olan ASP.NET sayfasına "gezinir". Ancak, bunu yaparsam, özel HyperlinkButton sınıfımı kullanamıyorum ve Safari dahil olmak üzere belirli tarayıcılar yeni bir pencerenin açılmasını engeller. Bu nedenle, tek seçeneğin HyperlinkButton sınıfını kullanmak olduğu anlaşılmaktadır.

Yapabilmek için yapmam gereken şey, bir bayt dizisi veya başka bir veri türü olarak görüntüyü bir sunucu değişkeninde olsa bile görüntüyü geçici olarak saklayabilmesi için sunucuya aktarmaktır. ve sonra PrintReport.aspx sayfasına gittiğimde hemen al.

Görüntüyü bir ASP.NET formuna yükler ve sonra PrintReport sayfasına gitmek için HyperlinkButton sınıfını kullanırsam, sistem görüntüyü yüklemeyi tamamlamadan uygulama PrintReport sayfasına gittikçe çalışmaz . Bunu bir web hizmetine aktaramıyorum, çünkü görüntüyü geçireceğim web yönteminin geri arama kodundaki PrintReport.aspx sayfasına gitmem gerekiyor ve HyperlinkButton buna izin vermiyor. güvenlik kuralları.

Herhangi bir yardım veya fikir takdir edilecektir.

Teşekkürler. Sorununuz yükleyebilir ve rapor görüntülenen sayfaya gitmek için tek tıklama kullanarak ilgisi, resim yüklemesi ile ilgisi azdır ve daha gibi o ise

Chris

cevap

1

İş, sesler durumda, daha sonra raporlar sayfasında görüntü yükleme işlemek için gitmek yolu olabilir.

Upload files with HTTPWebrequest (multipart/form-data)

standart bir aspx sayfası webservice yaklaşım, burada kaçırıyorsunuz bozun parçası WCF ASP uyumluluk modu olduğunu söyleyebilirim çalışma almasına dair

yüklemek için nasıl gösterir.

Bu, bir wcf hizmetindeki httpcontext'e erişmenizi sağlar. Yakalama elbette, hizmetinizi ASP'ye bağlamanızdır ...

ASP uyumluluk modu hakkında daha fazla ayrıntı için buraya bir göz atın. http://blogs.msdn.com/wenlong/archive/2006/01/23/516041.aspx.

Sizin süreç şuna dönüşür:

yükle webcoder -> sayfasına

Şuraya önbelleğe ekleyin -> Bu önerilerden biri

değilse yardımcı umut

cache

dan Retreive, bana geri dön!

+0

Anlayışınız doğru. Bir web hizmetine yüklerseniz, mantıksal yaklaşım, görüntü verilerinin yüklenmesi tamamlandıktan sonra raporu görüntüleyen sayfaya gitmek olacaktır. HyperlinkButton Gezinme yöntemini bir geri arama yönteminden vb. Kullanamazsınız ... Silverlight'ta güvenlik önlemleriyle ilgili bir şey. Yani, tek tıklamayla görüntü verilerini karşıya yükleme ve HyperlinkButton kullanarak yeni bir pencere açıp başka bir sayfaya nasıl göz attığımı anlamaya çalışıyorum. – Chris

+0

K, AutomationPeers ad alanına bakacağım ... Bu, kullanıcı eylemini simüle etmenizi sağlar (yine güvenlik, köprü düğmesi için bir otomatikleştirme aracı olmadığı anlamına gelebilir) ... Görünüşe göre, fantezi bir şey yapmanız gerekecek server, rapor sayfası tamamen yüklenene kadar işlem yapmasına izin vermez ... Şu an işteyim ve bir gümüş ışığı dev env'im yok, ama eve döndüğümde bunu bir şans vereceğim bilirsin. – stevenrcfox

İlgili konular