ASDL#37188 Ook image.png multiupload ondersteunen. Verder wat meer VB-code naar JavaScript gehaald

svn path=/Website/trunk/; revision=30707
This commit is contained in:
Jos Groot Lipman
2016-09-14 12:25:45 +00:00
parent 989876991b
commit 4cccd6c417

View File

@@ -47,10 +47,6 @@ if (params.extFilter)
regFilter = ".*\\." + "(" + regFilter + ")$"; // er moet een punt voor en extensie is aan het einde regFilter = ".*\\." + "(" + regFilter + ")$"; // er moet een punt voor en extensie is aan het einde
} }
function jslog(str) // VB Vindt de twee underscores niet leuk
{
__Log(str)
}
%> %>
<html> <html>
@@ -62,9 +58,34 @@ function jslog(str) // VB Vindt de twee underscores niet leuk
var found_files = []; var found_files = [];
var found_fields = {}; var found_fields = {};
function js_add_file(name, data, contenttype) function iso8601Date(jsDate)
{ {
found_files.push({ name: name, data: data, contenttype: contenttype}); var str = padout(jsDate.getFullYear())
+ padout(jsDate.getMonth() + 1)
+ padout(jsDate.getDate())
+ "T"
+ padout(jsDate.getHours())
+ padout(jsDate.getMinutes())
+ padout(jsDate.getSeconds());
return str;
}
function js_add_file(name, data, contenttype, counter)
{
var safename = safe.filename(name.split("\\")[name.split("\\").length - 1]); // eventuele padnaam eraf
__Log("Upload file: " + name + " is safe: " + safename);
// iPad/IPhone uploaden directe foto altijd als 'Image.jpg' wat erg lastig is
if (safename.match(/image.jpg/i) || safename.match(/image.jpeg/i) || safename.match(/image.png/i))
{
// Bij gelijktijdig uploaden van bestanden is een timestamp op seconde niet toereikend.
// We doen de teller er ook nog maar bij.
var ext = safename.split(".")[safename.split(".").length - 1];
safename = "Image_{0}{1}.{2}".format(iso8601Date(new Date), counter>0?"_" + counter:"", ext);
__DoLog("-->Ios: " + safename);
}
found_files.push({ name: safename, data: data, contenttype: contenttype});
} }
function js_add_field(name, data) function js_add_field(name, data)
@@ -313,20 +334,9 @@ function jslog(str) // VB Vindt de twee underscores niet leuk
%> %>
<script language="VBScript" runat="Server"> <script language="VBScript" runat="Server">
Dim UploadRequest Dim UploadRequest
Public Function iso8601Date(dt)
Dim s
s = datepart("yyyy",dt)
s = s & RIGHT("0" & datepart("m",dt),2)
s = s & RIGHT("0" & datepart("d",dt),2)
s = s & "T"
s = s & RIGHT("0" & datepart("h",dt),2)
s = s & RIGHT("0" & datepart("n",dt),2)
s = s & RIGHT("0" & datepart("s",dt),2)
iso8601Date = s
End Function
' Vult via de (JavaScript) functie js_add_file de globale found_files '' // Vult via de (JavaScript) functie js_add_file de globale found_files
' Verder doen we echt zo veel mogelijk in JavaScript '' // Verder doen we echt zo veel mogelijk in JavaScript
Public Function VB_getfiles() Public Function VB_getfiles()
Dim myErr Dim myErr
Set result = Server.CreateObject("Scripting.Dictionary") Set result = Server.CreateObject("Scripting.Dictionary")
@@ -347,30 +357,19 @@ Public Function VB_getfiles()
Set UploadRequest = CreateObject("Scripting.Dictionary") Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin BuildUploadRequest RequestBin
' Vul via de (Javascipt) functie js_add_field de globale found_fields '' // Vul via de (Javascipt) functie js_add_field de globale found_fields
' met de hidden form-fields uit de header '' // met de hidden form-fields uit de header
Dim ur_key, i, var_naam, var_waarde, var_filename, var_data Dim ur_key, i, var_naam, var_waarde, var_filename, var_data
ur_key = UploadRequest.Keys ur_key = UploadRequest.Keys
for i = 0 To UploadRequest.Count -1 for i = 0 To UploadRequest.Count -1
var_naam = ur_key(i) var_naam = ur_key(i)
if UploadRequest.Item(var_naam).Exists("ContentType") then if UploadRequest.Item(var_naam).Exists("ContentType") then
var_waarde = UploadRequest.Item(var_naam).Item("FileName") var_waarde = UploadRequest.Item(var_naam).Item("FileName")
' En dan nu nog de bestanden.. '' // En dan nu nog de bestanden..
contentType = UploadRequest.Item(var_naam).Item("ContentType") contentType = UploadRequest.Item(var_naam).Item("ContentType")
filepathname = UploadRequest.Item(var_naam).Item("FileName") filepathname = UploadRequest.Item(var_naam).Item("FileName")
var_filename = safe.filename(Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))) '" //syntaxhighlight correctie
jslog "File: " & filepathname & " safe: " & var_filename
'' iPad/IPhone uploaden directe foto altijd als 'Image.jpg' wat erg lastig is
If LCase(var_filename) = "image.jpg" Or LCase(var_filename) = "image.jpeg" Then
' Bij gelijktijdig uploaden van bestanden is een timestamp op seconde niet toereikend.
' We doen de teller er ook nog maar bij.
var_filename = "Image_" & iso8601Date(Now) & "_" & i & ".jpg"
jslog "-->Ios: " & var_filename
End If
var_data = MultiByteToBinary(UploadRequest.Item(var_naam).Item("Value")) var_data = MultiByteToBinary(UploadRequest.Item(var_naam).Item("Value"))
js_add_file var_filename, var_data, contentType js_add_file filepathname, var_data, contentType, i
else else
var_waarde = UploadRequest.Item(var_naam).Item("Value") var_waarde = UploadRequest.Item(var_naam).Item("Value")
end if end if