2009-06-08 13 views
3

Ich möchte Datei von dem Client auf den Server mit einem Front-End in SilverLight hochladen.SilverLight Datei hochladen?

Mein Problem ist, dass die Datei nicht im Isolationsspeicher ist (das wäre einfach!).

Die Anwendung in wenigen Worten erfordern Bilder von dem Benutzercomputer ähnlich der hochgeladenen FaceBook hochladen, (die Java-Version).

Gibt es eine Möglichkeit, dem Benutzer die Erlaubnis zu erteilen ODER einen Trick, von dem ich vielleicht nicht weiß, dass er Dateien hochladen kann?

Vielen Dank * Ich möchte nicht den Open File Dialog verwenden.

+1

Woher wissen Sie, welche Datei hochgeladen werden soll, ohne den Dialog zu verwenden? Dies ist tatsächlich eine Sicherheitsfunktion von silverlight, d. h. eine Silverlight-App kann lokale Dateien nicht lesen - es sei denn, ein Benutzer hat zu der Datei im geöffneten Dateidialog navigiert. – russau

+0

Das Ziel ist, eine Art Uploader wie Facebook zu erstellen (in der Lage, mehrere Dateien mit Vorschau und auf vielen Ordnern auszuwählen). Der OpenFileDialog ist nicht sehr anpassbar. Und zweitens, sagen wir, der Benutzer wählt 100 Bilder aus dem geöffneten Dateidialog, führt einige Bearbeitungen mit der SilverLight-Anwendung durch und entschließt sich, nur wenige Bilder auf den Server hochzuladen. Ich möchte nur die ausgewählte und nicht die 100 Bilder hochladen können. Das bedeutet, dass ich einige Bilder aus den 100 auswählen und sie SPÄTER hochladen möchte. Das würde mich einige Privilegien erfordern, um sie ohne den Dateidialog hochzuladen. –

+0

Okay - ich erinnerte mich, wie der Facebook-Uploader aussah, nachdem ich die Frage gestellt hatte - do'h. Wenn jemand 100 Dateien geöffnet hat, würden Sie die Bytes dieser 100 Dateien lokal einlesen. Sie können dann wählen, diese Bytes später zu senden. – russau

Antwort

1

Wenn Sie den geöffneten Dateidialog nicht verwenden möchten, würde ich sagen, dass es keinen Weg gibt, wenn es einen Fehler gäbe - ein Sicherheitsloch in der Sandbox.

+0

Ich suche einen sicheren Weg, es zu tun. Es ist mir egal, eine Benutzerbenachrichtigung zu veranlassen oder ein Zertifikat zu signieren oder was immer es benötigt. Java mach es und ich denke Flash macht das mit der neusten Version ... warum nicht Silverlight;) –

+0

Es gibt ja keine Möglichkeit es zu tun. Dies hat einfach keine sehr hohe Priorität gehabt. Sehr wenige Anwendungen benötigen diese Funktionalität und Microsoft hat dringendere Anforderungen. Wenn Sie einen relevanten Geschäftsfall haben, können Sie sich mit ihnen in Verbindung setzen und Ihr Problem beschreiben. Sie hören natürlich Feedback, obwohl ich mir vorstelle, dass es zu spät ist, um etwas in SL3 zu bekommen. – Sander

+0

Flash kann es nicht tun. AIR kann, aber es erfordert, dass der Benutzer zuerst die Anwendung installiert (die Erhöhung unter Vista/7 erfordert). –