Neujahr 👍 👎

Ich bedanke mich für das bisherige Interesse und wünsche ein glückliches und erfolgreiches neues Jahr 2014.

Ich würde mich natürlich sehr darüber freuen, dich auch im nächsten Jahr wieder hier begrüßen zu dürfen.

Datei per ASP.NET MVC hochladen 👍 👎

Vor einiger Zeit hatte ich bereits beschrieben, wie sich eine Datei per ASP.NET MVC ausliefern lässt. Ergänzend dazu möchte ich mit diesem Beitrag erklären, wie sich Dateien per ASP.NET MVC einfach hochladen lassen.

Zuerst erstellen wir eine minimale Ansicht (im Beispiel für eine Galerie) mit einem entsprechenden Formular:
View: ~/Views/Gallery/Upload.cshtml
010203040506
@using(Html.BeginForm("Upload", "Gallery", FormMethod.Post, new {    enctype = "multipart/form-data"})) {    <input type="file" name="file" />    <input type="submit" />}
Zur Verarbeitung verwenden wir die folgende einfache Methode im Controller:
Controller: ~/Controllers/GalleryController.cs
010203040506070809
public class GalleryController : Controller {    public ActionResult Upload(HttpPostedFileBase file = null) {        if(file != null) {            file.SaveAs(file.FileName);        }
return View(); }}
Über HttpPostedFileBase stehen uns – wie im Beispiel ersichtlich – insbesondere die Eigenschaft FileName mit dem ursprünglichen Dateinamen, sowie die praktische Methode SaveAs(…) zur Verfügung.

Auch mehrere Dateien hochzuladen ist kein Problem, dazu müssen wir der Methode Upload lediglich ein HttpPostedFileBase-Array übergeben:
Controller: ~/Controllers/GalleryController.cs (multiples Hochladen)
0102030405060708091011
public ActionResult Upload(HttpPostedFileBase[] files = null) {    if(files != null) {        foreach(HttpPostedFileBase file in files) {            if(file != null) {                file.SaveAs(file.FileName);            }        }    }
return View();}
Nun können wir in der Ansicht mehrere Felder zur Auswahl einer Datei anbieten:
View: ~/Views/Gallery/Upload.cshtml (multiples Hochladen)
0102030405060708
@using(Html.BeginForm("Upload", "Gallery", FormMethod.Post, new {    enctype = "multipart/form-data"})) {    <input type="file" name="files" />    <input type="file" name="files" />
<input type="submit" />}

Phonetische Suche 👍 👎

Ab sofort besteht die Möglichkeit, eine phonetische Suche im Blog zu verwenden, wodurch eine unscharfe Suche nach Begriffen mit ähnlichem Klang ermöglicht wird. Standardmäßig ist diese Option jedoch deaktiviert.

So werden beispielsweise "s", "ss" und "ß" gleich behandelt und somit viele Beiträge auch bei fehlerhaft geschriebenen Stichworten gefunden – es kann jedoch auch zu überflüssigen Ergebnissen kommen.

Zum verwendeten Algorithmus lassen sich weitere Informationen unter dem Begriff Kölner Phonetik finden.

Kopfzeilen einer Webseite mit C# ermitteln 👍 👎

Ergänzend zu Quelltext einer Webseite mit C# einlesen möchte ich noch zeigen, wie sich die HTTP-Header der Antwort auf eine Anfrage ermitteln lassen. Wir verwenden dazu die bereits bekannte Klasse HttpWebRequest:
Kopfzeilen per HttpWebRequest ermitteln
01020304050607080910111213141516171819
HttpWebRequest request = HttpWebRequest.CreateHttp("http://domain.tld/");
/** * Hier könntet ihr auch eigene Kopfzeilen senden, z. B.: * request.Headers[HttpRequestHeader.Cookie] = "Cookie-Daten";**/
using(WebResponse response = request.GetResponse()) { for(int i = 0; i < response.Headers.Count; i++) { string header = response.Headers.GetKey(i);
foreach(string value in response.Headers.GetValues(i)) { /** * "header" enthält den Titel der Kopfzeile, * "value" enthält einen Wert zu dieser. **/ } }}
Die ebenfalls aus dem vorherigen Beitrag bekannte Klasse WebClient bietet diese Möglichkeit in ähnlicher Form.

PHP-Funktionen in C# vorschlagen 👍 👎

Für die (Pseudo-)Kategorie PHP-Funktionen in C# habe ich einige Vorschläge von Lesern erhalten.

Um diesen Prozess ein wenig zu optimieren, gibt es nun eine Funktion für derartige Vorschläge.

Projektverweise

Kategorien / Archiv  |  Übersicht RSS-Feed

Schlagworte

Suche