Mittwoch, 22. März 2017

Can I have the Last-Modified Date - for that files?

In einem meiner letzten Projekte für Gebäude Management wurden Rechnungen und andere Dokumente gescannt und in die Datenbank geladen. Für die Geschäftsleute ist das Dokumenten-Datum neben dem Namen sehr wichtig. In der Apex 4 Umgebung gab es dafür keine vollständige Unterstützung. So wurde das Datum dann manuell eingegeben.

Das wollte ich ändern:

1. Beim Upload einer Datei in einer Webanwendung kann das letzte Änderungsdatum mit Javascript ausgelesen und so in ein Input Feld neben dem Namen übertragen werden.

function GetFileNameDate(p_FileItem, pNameItem, pDateItem) {
 $x(pNameItem).value = $x(p_FileItem).value;
 var input = $x(p_FileItem);
 if (input && input.files && input.files[0]) {
  var fdate = input.files[0].lastModifiedDate;
  var day = fdate.getDate();
  var mon = fdate.getMonth() + 1;
  var year = fdate.getFullYear();
  var hour = fdate.getHours();
  var min = fdate.getMinutes();
 
  if (day < 10) { day = '0' + day; }
  if (mon < 10) { mon = '0' + mon; }
  if (year < 10) { year = '200' + year; }
  else if (year < 100) { year = '20' + year; }
  if (hour < 10) { hour = '0' + hour; }
  if (min < 10) { min = '0' + min; }
 
  var datestr = day + "." + mon + "." + year + " " + hour + ":" + min;
  $x(pDateItem).value = datestr;
 }
}

2. Beim Download über einen normalen Link kann nur der Dateiname und die Größe im Header gesetzt werden. Wird aus dem Inhalt zunächst ein eine Zip-Datei erstellt und diese dann heruntergeladen, kann beim entpacken das richtige Änderungsdatum gesetzt werden.
Ich fand mit Netz eine coole open source library as_zip von Anton Scheffer.
https://technology.amis.nl/2010/06/09/parsing-a-microsoft-word-docx-and-unzip-zipfiles-with-plsql/

Diese library habe ich so angepasst, das nun das Dokument-Datum in der Funktion add1file übergeben werden kann.


3. Beim Upload eines Zip-Archivs kann das Datei-Datum jeder enthaltenen Datei aus dem Archiv extrahiert werden. Für das Auslesen mit Datei-Datum habe ich die Prozedur get_file_date_list  hinzugefügt.




Keine Kommentare:

Kommentar veröffentlichen

Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.