Tengo una aplicación SL3 que necesita para poder pasar una imagen al servidor, y luego el servidor generará un archivo PDF con la imagen y se lo mostrará al usuario.¿La mejor manera de pasar imágenes al servidor?
lo que ya tiene en su lugar son los siguientes:
(1) El código para convertir una imagen de matriz de bytes (2) El código para generar el archivo PDF con la imagen
El principal problema que estoy corriendo en es la siguiente:
con el fin de eludir el bloqueador de pop-up, que es un requisito para mi aplicación, estoy usando el siguiente código:
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();
Inicialmente, pasaba la imagen a un servicio web WCF (como una matriz de bytes), y luego "navegaba" a la página ASP.NET que mostraría el informe. Sin embargo, si hago esto, entonces no puedo usar mi clase HyperlinkButton personalizada, y ciertos navegadores, incluido Safari, bloquearán la apertura de una nueva ventana. Por lo tanto, parece que la única opción es usar la clase HyperlinkButton.
Lo que necesito hacer es pasar de alguna manera la imagen, como una matriz de bytes u otro tipo de datos, al servidor, de modo que pueda almacenar temporalmente la imagen, incluso si está en una variable de servidor , y luego recuperarlo inmediatamente cuando navego a la página PrintReport.aspx.
Si subo la imagen a un formulario ASP.NET y luego uso la clase HyperlinkButton para navegar a la página PrintReport, no funciona, ya que la aplicación navega a la página PrintReport antes de que el sistema haya terminado de cargar la imagen . No puedo pasarlo a un servicio web, ya que eso requeriría que navegue a la página PrintReport.aspx en el código de devolución de llamada del método web al que le estaría pasando la imagen, y el HyperlinkButton no permitirá eso, basado en las reglas de seguridad.
Cualquier ayuda o idea sería apreciada.
Gracias.
Chris
Su comprensión es correcta. Si subo a un servicio web, el enfoque lógico sería navegar a la página que muestra el informe una vez que se completa la carga de los datos de la imagen. No puede usar el método de navegación HyperlinkButton desde un método de devolución de llamada, etc. Algo relacionado con las medidas de seguridad en Silverlight. Por lo tanto, todavía estoy atascado tratando de averiguar cómo, con un clic, para cargar los datos de imagen Y usando HyperlinkButton, abra una nueva ventana y busque otra página. – Chris
K, voy a buscar en el espacio de nombres de AutomationPeers ... Esto le permite simular la acción del usuario (de nuevo, la seguridad puede significar que no hay un botón de automatización para el hipervínculo) ... Parece que tendrá que hacer algo elegante en el servidor, no permita que la página de informes se visualice hasta que la imagen esté cargada por completo ... Estoy trabajando en este momento y no tengo un desarrollador de Silverlight, pero cuando llegue a casa le daré una oportunidad y dejaré que funcione. tu sabes. – stevenrcfox