AAIT#33877 (Flex)foto in bon kunnen gebruiken 1e aanzet
svn path=/Website/trunk/; revision=28320
This commit is contained in:
@@ -70,7 +70,7 @@ function subfolderKey(pNiveau, pKey)
|
||||
function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
{
|
||||
params = params || {};
|
||||
var result = { directlink: false };
|
||||
var result = { directlink: false, files: [] };
|
||||
switch (pModule)
|
||||
{
|
||||
case "FGII": // Facilitor Graphics
|
||||
@@ -206,7 +206,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.AttachPath = result.AttachPath.replace("..", "_");
|
||||
if (params.getFile)
|
||||
{
|
||||
result.files = [];
|
||||
if (fso.FileExists(result.AttachPath + params.getFile))
|
||||
{
|
||||
var fsoFile = fso.GetFile(result.AttachPath + params.getFile);
|
||||
@@ -216,7 +215,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
}
|
||||
else if (params.getFiles) // Haal alle bijlagen er bij.
|
||||
{
|
||||
result.files = [];
|
||||
if (fso.FolderExists(result.AttachPath))
|
||||
{
|
||||
__Log("Scanning {0} for files".format(result.AttachPath));
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
$Revision$
|
||||
$Id$
|
||||
*/ %>
|
||||
<!-- #include file="../shared/FlexFiles.inc" -->
|
||||
<%
|
||||
// Alleen nog in gebruik voor CAD/PrintFG.asp, daar nog eens uit-schrijven
|
||||
|
||||
@@ -64,10 +65,67 @@ function STR2Stream(xmlstr, xslfile, Stream, params)
|
||||
oNode.nodeTypedValue = xc.GetAsPNG();
|
||||
var b64 = oNode.text;
|
||||
|
||||
newbody = p_bodyhtml.substr(0, startPos - 4) + "src=\"data:image/png;base64," + b64 + "\"" + p_bodyhtml.substr(eindPos + 1);
|
||||
var newbody = p_bodyhtml.substr(0, startPos - 4) + "src=\"data:image/png;base64," + b64 + "\"" + p_bodyhtml.substr(eindPos + 1);
|
||||
p_bodyhtml = newbody;
|
||||
}
|
||||
|
||||
// Nu frc-codering opzoeken <img frc="SML:34417:587:P"/>
|
||||
var startPos = p_bodyhtml.indexOf("frc=") + 4;
|
||||
var quote = p_bodyhtml.substr(startPos, 1);
|
||||
var eindPos = p_bodyhtml.indexOf(quote, startPos + 2);
|
||||
if (startPos > 4 && eindPos > startPos)
|
||||
{
|
||||
var flexcode = p_bodyhtml.substring(startPos + 1, eindPos);
|
||||
|
||||
var arr = flexcode.split(":"); // MLD:12345:587:M of SML:12345:587:P" waarbij de 581 en P don't care zijn
|
||||
var pModule = arr[0]; // RESPH::::AMSG0-01-A047.JPG
|
||||
if (arr.length > 1)
|
||||
var pKey = parseInt(arr[1], 10);
|
||||
if (arr.length > 2)
|
||||
var pKenmerkKey = parseInt(arr[2], 10);
|
||||
if (arr.length > 3)
|
||||
var pNiveau = parseInt(arr[3], 10);
|
||||
var getparams = { getFiles: true };
|
||||
if (arr.length > 4)
|
||||
var getparams = { getFile: arr[4] };
|
||||
|
||||
var params = flexProps(pModule, pKey, pKenmerkKey, pNiveau, getparams);
|
||||
if (params.files.length)
|
||||
{
|
||||
var file = params.AttachPath + params.files[0].name;
|
||||
// TODO: If goede type png/jpg
|
||||
// TODO: Via SLNKDWF/ resizer? Maar hoe netjes sizing te definieren? Zie het format in UploadForm_save.asp
|
||||
// of moeten we gewoon de width/height gaan parsen die je bij img src= kunt meegeven?
|
||||
var oIMG = new ActiveXObject("SLNKDWF.ImageConvert");
|
||||
oIMG.Open(file);
|
||||
oIMG.Width = 256;
|
||||
oIMG.Height = 192;
|
||||
// TODO: Originele type behouden of altijd naar het compactere jpg?
|
||||
var tempfile = Server.MapPath(rooturl + '/temp/img_' + customerId + '_' + Math.random(16) + ".jpg");
|
||||
oIMG.SaveAs(tempfile);
|
||||
|
||||
var fileStream = new ActiveXObject("ADODB.Stream")
|
||||
fileStream.Open();
|
||||
fileStream.Type = 1; //adTypeBinary
|
||||
fileStream.LoadFromFile(tempfile);
|
||||
fileStream.Position = 0; // We gaan nu over in uitvoermode
|
||||
|
||||
var oXML = new ActiveXObject("Msxml2.DOMDocument.6.0");
|
||||
oNode = oXML.createElement("encodeddata");
|
||||
oNode.dataType = "bin.base64"; // Zeer snelle oplossing
|
||||
oNode.nodeTypedValue = fileStream.Read(fileStream.Size);
|
||||
fileStream.Close();
|
||||
var fso = Server.CreateObject("Scripting.FileSystemObject")
|
||||
if (Session("logging") == 0)
|
||||
fso.DeleteFile(tempfile);
|
||||
|
||||
var b64 = oNode.text;
|
||||
// TODO: Niet altijd als png, soms ook JPG, hoewel het goed lijkt te gaan in de meeste browsers
|
||||
var newbody = p_bodyhtml.substr(0, startPos - 4) + "src=\"data:image/png;base64," + b64 + "\"" + p_bodyhtml.substr(eindPos + 1);
|
||||
p_bodyhtml = newbody;
|
||||
}
|
||||
}
|
||||
|
||||
Stream.Write(p_bodyhtml);
|
||||
if (params.log_postfix)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user