Domanda

sto generando un System.Drawing.Bitmap al volo in un controllo ASP.NET Web personalizzate Server e quindi voglio servire questo bitmap come parte del WebResource, perché io non voglio salvare sul computer che ospita.

C'è un modo per istruire ASP.NET per servire il System.Drawing.Bitmap generato come parte di essa di WebResource? (Rendendo quindi un "Risorsa incorporata")

È stato utile?

Soluzione

Usa un gestore HTTP. Il gestore è fondamentalmente un pezzo di codice eseguito quando una risorsa con una determinata estensione viene richiesto dal server. Dal momento che si desidera un'immagine generata dinamicamente, si farebbe che nel codice per il gestore e restituirlo come risposta. Embedding non avrebbe funzionato, perché si può solo incorporare informazioni statiche. Qui ci sono alcuni link:

Altri suggerimenti

L'ho fatto in diversi progetti ASP.NET senza un HTTP handler.

Dire che hai un'immagine denominata "Fingerprint.jpg" e lo metti in una sottocartella denominata "Immagini" nella libreria di controllo web il cui namespace è "MyNamespace". Effettivamente lo spazio dei nomi computerizzata della vostra immagine sarebbe "MyNamespace.Images". Mark quell'immagine con l'azione di compilazione "embedded risorse".

Ora supponiamo che in questa biblioteca di controllo web di avere una classe di controllo web denominato "MyNamespace.SampleWebControl".

In AssemblyInformation.cs ho aggiunto qualcosa di simile per ogni immagine:

[assembly: System.Web.UI.WebResource ( "MyNamespace.Images.Fingerprint.jpg", "image / jpg")]

dove nell'esempio dell'immagine Fingerpint.jpg sopra è memorizzato nella cartella denominata "Immagini" proprio sotto la directory principale della biblioteca di controllo web.

Poi nel codebehind della pagina asp.net si potrebbe usare qualcosa di simile:

string imgName = "MyNamespace.Images.Fingerprint.jpg";
Type ctrlType = typeof(MyNamespace.SampleWebControl);
string imageUrl = Page.ClientScript.GetWebResourceUrl(ctrlType, imgName);

E poi è possibile utilizzare tale valore URL dell'immagine come l'URL dell'immagine in un controllo immagine o di un tag HTML IMG.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top