2012-04-09 21 views
0

Ich arbeite derzeit an einem Dokumenten-Management-System, das ein BLOB aus einer Datenbank und zeigt das Dokument (in der Regel eine PDF, aber das ist egal). Mein Code funktioniert, um das Dokument zu öffnen, aber beim Speichern der Datei nach dem Öffnen speichert es als URL.pdf. Wenn also die URL der Seite, um die Datei zu erhalten ist:Ändern der URL mit JSP oder Javascript

get.jsp?doc=1 

dann das Dokument aus der Datenbank geladen wird, die den Benutzer angezeigt just fine.

Wenn Sie jedoch versuchen, die Datei zu speichern, wird der Standardname kommt als

get.pdf 

Ich mag es die tatsächlichen Dokumentnamen sein, die in der Datenbank gespeichert ist. Ich denke, ich muss die URL ändern, um dies zu tun, aber ich bin damit einverstanden, dass es anders funktioniert, solange das Dokument den Namen behalten kann, was der Benutzer wahrscheinlich nicht weiß. Ich benutze JSP. Danke im Voraus.

+0

Geben Sie Ihren Code PLZ – ControlAltDel

Antwort

0

Sie können es in Ihrer Aktion mit dem Antwortobjekt tun. Ersetzen Sie einfach die "NAME_THE_FILE_HERE" durch was auch immer die Datei benannt werden soll.

+0

Das funktioniert als Anhang, aber ich möchte es für Inline verwenden. Anhang zwingt den Download-Dialog. Ich möchte, dass der Benutzer die Datei anzeigt und dann die Option zum Speichern mit dem Adobe-Plugin hat. – Renegade91127

+0

Vielleicht missverstehe ich, was Sie verlangen .. Ändern Sie einfach "Anlage" auf "Inline", können Sie die "; Dateiname =" Parameter .. httpServletResponse.setHeader ("Content-Disposition", "Inline ; Dateiname = "+" NAME_THE_FILE_HERE "); –

+0

So habe ich es eingerichtet. Das Problem tritt auf, weil Adobe den Dateinamen scheinbar nicht als Inline-Code erkennt. Wenn Sie die PDF-Datei mit Adobe speichern, wird sie mit dem URL-Namen.pdf gespeichert. Ich möchte, dass es geöffnet wird, aber ich möchte, dass Adobe es unter seinem ursprünglichen Namen speichert. Ich denke, um dies zu tun, muss ich die URL in einen Dummy ändern, einen, der nicht wirklich existiert, aber ein Adobe wird lesen und die richtige Datei bekommen. – Renegade91127