Upload - Přenos souborů z Web klienta na server
Objekt
PmaWebDir umožňuje také nabídnout HTML stránku s formulářem, který umožňuje klientovi vybrat soubor (nebo soubory) umístěné na počítači Web klienta a ty odeslat na server.
Vzor stránky (upload.htm):
<html>
<head>
<title>Upload file</title>
<style type="text/css">
body {background-color:#efefef;}
hr,div {width:400px;}
h2 {color:#000080;text-align:center;}
</style></head>
<body><div>
<h2>Select a file to upload to the server</h2>
<form enctype="multipart/form-data" method="post" action="#">
File to upload: <input id="fileupload" name="myfile" type="file" multiple/><hr/>
<input type="submit" id="submit" value="Upload to server"/>
</form>
</div></body>
</html>
Stránku je ale možné vytvořit i ve skriptu v události
onPageModify pokud konfigurátor "
Zdroj dat" je nastaven na
Text zadaný do vlastnosti pEvent.PageString v události onPageModify. Tak jak je použito v předkonfiguraci
Předkonfigurace "PmaWebDir - Upload souborů z Web klienta na server".
Zpracování:
Zpracování přijatých souborů a jejich uložení do složky
#data: je řešeno v události
onPageAction následovně:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oData = pEvent.Data;
if (Pm.GetVarType(oData, 1) == "PmBuffer")
{
var aParts = Pm.HttpFormDataParse(oData);
var iParts;
for (iParts = 0; iParts < oData.GetSize(1); iParts++)
{
var mPart = aParts.GetItem(iParts, -1);
mPart.Value.SaveToFile(0, "#data:" + mPart.File, 0, -1);
}
}
Dim oData
Set oData = pEvent.Data
If Pm.GetVarType(oData, 1) = "PmBuffer" Then
Dim aParts, iParts
aParts = Pm.HttpFormDataParse(oData)
For iParts = 0 To oData.GetSize(1) - 1
Dim mPart
Set mPart = aParts.GetItem(iParts, -1)
mPart.Value.SaveToFile 0, "#data:" & mPart.File, 0, -1
Next
End If
Otevření stránky:
JavaScriptVyber a zkopíruj do schránky
var oCreator = Pm.CreateView(null, "/Web/Dir", "file:upload.htm", "target:_blank;");
oCreator.Open();