Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Java Servlet soll dynamisch erzeugte Daten als Download anbieten

Frage Entwicklung Java

Mitglied: laster

laster (Level 2) - Jetzt verbinden

07.02.2010 um 15:32 Uhr, 7722 Aufrufe, 5 Kommentare

vCard - Datei zu Adresse zum Download anbieten

Hallo,

habe ein Servlet, welches Adressen aus einer SQL-DB auflistet. Zu jeder Adresse erzeuge ich jetzt einen String mit den Daten für die vCard. Nun möchte ich einen Link hinter die Adresse setzen, der beim Anklicken eine Datei zum Download anbietet (name_vorname.vcf). Die Datei will ich aber nicht erst auf Platte schreiben, sonder quasi streamen, damit beim Anklicken des Links gleich die AdressCard mit Outlook geöffnet werden kann.
Kennt jemand eine Lösung - wäre sehr dankbar

vG
LS
Mitglied: dog
07.02.2010 um 18:45 Uhr
01.
HTTP/1.1 200 OK 
02.
Content-Type: application/octet-stream 
03.
Content-Disposition: attachment; filename="name_vorname.vcf" 
04.
Content-Length: xxx 
05.
 
06.
[...]
Bitte warten ..
Mitglied: laster
07.02.2010 um 20:19 Uhr
Hallo dog,
danke für Deine Info, steh blos bisschen auf dem Schlauch. Schick ich das dem Browser als 'Seite', so in der Form
01.
... 
02.
PrintWriter out = new PrintWriter(response.getOutputStream()); 
03.
... 
04.
out.println("Content-Type: application/octet-stream"); 
05.
...
- kann ich mit nicht richtig vorstellen.
Kannst Du nochmal etwas ausführliche schreiben - wenn Du Laune hast?
Bitte warten ..
Mitglied: dog
LÖSUNG 07.02.2010, aktualisiert 09.05.2014
Ich bin kein Java-Programmierer.
In PHP würde es so aussehen:

01.
$vcard = "[...]"; // inhalt der karte 
02.
header('Content-Type: application/octet-stream'); 
03.
header('Content-Disposition: attachment; filename="'.$name.'_'.$vorname.'.vcf"'); 
04.
header('Content-Length: '.strlen($vcard)); 
05.
 
06.
echo $vcard;
Bitte warten ..
Mitglied: laster
07.02.2010 um 20:54 Uhr
OK, ich probiere mal, sieht ja ganz gut aus...
Scon mal eine gute Nacht und Woche
LS
Bitte warten ..
Mitglied: laster
12.02.2010 um 16:35 Uhr
Hallo,

zum Abschluss die Lösung in Java (Servlet):
01.
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
02.
  PrintWriter out = new PrintWriter(response.getOutputStream()); 
03.
  ... 
04.
  response.setContentType("application/octet-stream"); 
05.
  response.setHeader("Content-Disposition", "attachment; filename=vcard.vcf"); 
06.
  response.setHeader("Content-Length", "586"); 
07.
  ... 
08.
  out.print("vcard-Daten im Klartext..."); 
09.
  out.close(); 
10.
}
- geht so, wie es soll.

schöne WE
LS
Bitte warten ..
Ähnliche Inhalte
Java
Mit welchem Browser ist noch Java möglich? (8)

Frage von maddoc zum Thema Java ...

Backup
Hacker-Angriff auf Berlin Story! Sämtliche Daten weg B.Z. Berlin (18)

Link von Lochkartenstanzer zum Thema Backup ...

Google Android
Handy mit Wasserschaden: Daten retten? (15)

Frage von honeybee zum Thema Google Android ...

Microsoft Office
gelöst Excel Tabelle nach Spalte sortieren und Daten auf Tabellenblätter separieren (4)

Frage von Fastinator zum Thema Microsoft Office ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (22)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (16)

Frage von FA-jka zum Thema Windows 10 ...

Basic
Programmierung von Windows Programmen (10)

Frage von Ghost108 zum Thema Basic ...