HowTo: Bilder mit CKEditor und ASP.NET MVC hochladen

Ich hatte gerade das Problem, dass ich mit dem WYSIWYG-Editor CKEditor Bilder hoch laden möchte, um sie direkt in meinen Text einzupflegen.
Dazu wird irgendwo im View der Editor definiert:

  <script type="text/javascript">
      window.onload = function() {
          CKEDITOR.replace('ckEditor', {
            skin: 'office2003',            
            filebrowserUploadUrl: '<%=Url.Action("UploadImage") %>'
      });
  };
  
</script>

Wichtig ist hier der Parameter „filebrowserUploadUrl“. Dies ist der Pfad, wohin das Bild beim Upload gesendet wird.
Im Controller wird das ganze nun verarbeitet:

        [AcceptVerbs(HttpVerbs.Post)]
        public string UploadImage()
        {
            // Datei speichern
            var identifier = Guid.NewGuid();
            string[] fileExt = Request.Files[0].FileName.Split('.');
            string safeFile = identifier + "." + fileExt[fileExt.Length - 1];
            Request.Files[0].SaveAs(Path.Combine(HostingEnvironment.MapPath("~/UploadedImages/"), safeFile));
            
            // Daten an CKEditor zurück geben
            string result = "<script type=\"text/javascript\">";
            result += "window.parent.CKEDITOR.tools.callFunction(" + Request.QueryString["CKEditorFuncNum"] + ", \"" +
                      Path.Combine(Url.Content("~/UploadedImages/"), safeFile) + "\",\"\");</script>";
            return result;
        }

Erst speicher ich das Bild irgendwo und gebe dann den Pfad per Javascript zurück. Da ich nur das JS ausführen lassen muss, gebe ich kein komplettes View zurück. Die Url wird dann korrekt an CKEditor übergeben (siehe Screenshots). Der letzte Parameter des callFunction()-Aufrufes kann für Fehlermeldungen genutzt werden, Bild zu groß o.ä.
Mich hat dieser kleine Aufruf bestimmt eine Stunde gekostet!

CKEditor - Datei auswählen, Hochladen CKEditor - Datei hochgeladen und Pfad übergeben

Taskleistenproblem unter Windows 7

Ich lasse mir gerne den Desktop in der Taskleiste anzeigen, damit ich schnell auf die Dateien und Verknüpfungen zugreifen kann. Schließlich ist es mit mehren Desktops nervig, wenn dann auf einmal alle minimiert werden (schließlich ist man ja faul). Standardmäßig ist meine Taskleiste fixiert, damit ich sie nicht ausversehen verschiebe. Füge ich nun per Rechtsklick –> Symbolleisten –> Desktop die Verknüpfung an, so wird sie standardmäßig rechts neben dem Systray angezeigt.
Taskleiste fixiert nach dem Hinzufügen
Nun wollte ich die Verknüpfung nach links verschieben, direkt neben das Startmenü. Also löse ich die Fixierung, verschiebe das Objekt und fixiere die Taskleiste wieder. Das Ergebnis:
Taskleiste nach dem Verschieben

Wenn man genau hinschaut, sieht man etwas von einem Ordner. Und der ist auch anklickbar. Und das nervt. Wenn ich es nun wieder auf den Weg zurückschiebe, hab ich das selbe Problem. Lösung ist nur, den Desktop entfernen, Taskleiste fixieren und mit Rechtsklick wieder hinzufügen. Dann ist es aber nur auf der rechten Seite.
Das Problem gab es schon unter Windows XP, unter Vista und wenn ich mich recht entsinne auch unter Windows 2000. Aber kein wirklicher Trost!

Windows 7: Erst den Laufwerksbuchstaben anzeigen

Standardmäßig wird im Explorer von Windows 7 ja folgendes angezeigt:

„Volume (C:)“

Wer dies umdrehen will, kann auf den alten Trick, welcher schon unter XP lief, zurückgreifen.

XP: Windows-Explorer Laufwerksbuchstabe anpassen

Funktioniert auch unter Windows 7, gerade getestet.

Avatar

Gestern war ich mit Katrins Vater im Kino und habe mir Avatar in 3D angesehen. Das war mein erster 3D Film und daher war ich etwas skeptisch.
Man bekommt da ja eine schöne 3D Brille und da ich ohnehin schon Brillenträger bin, konnte ich sie nur halbherzig aufsetzen. Sie rutschte mir also immer wieder von der Nase, wenn ich mal etwas nach unten schaute.
Aber trotzdem war ich echt überrascht. An manchen Stellen war es ungewohnt, so wie bei einer neuen Brille (Brillenträger wissen schon was ich meine). Aber ansonsten sah der Film sehr geil aus, absolut geil!
Tja und die Story. Hm schwierig. Ich hab schon deutlich schlechtere Filme gesehen, aber auch Filme, die mich deutlich mehr vom Hocker gehauen haben. Er ist nicht schlecht aber auch nicht überwältigend.

Fazit: Schaut ihn euch unbedingt im Kino an, alleine das 3D-Feeling macht die Story wieder fett.