皆さん、こんにちは。
ノード図を提供する Web ページを作成しており、すべてのノードには 1 つのメディア(写真、ビデオ、サウンド、テキスト) が必要です。ノードダイアグラムを作成するためにjavascriptライブラリGoJsを使用していますが、アップロードされたメディアを使用してすべてのノードをバインドする方法に問題があります(メディアはユーザーがAjaxフォームでアップロードします)。
誰かがこれを機能させる方法について考えを持っていますか?
ところで、メディア アップローダーは正常に動作します。
これまでのノード図の js コードは次のとおりです。
// define the Node template for nodes
myDiagram.nodeTemplate =
$(go.Node, "Auto", // the whole node panel
new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify),{
// define the node's outer shape, which will surround the TextBlock
resizable: true,
resizeObjectName: "RRectangle",
resizeCellSize: new go.Size(10, 10),
selectionObjectName: "SHAPE"
},
$(go.Picture, { //main image for all nodes
source: "images/nodeicon.png",
background: "#E67E22",
width: 65,
height: 65,
maxSize: new go.Size(50, 50),
margin: new go.Margin(0),
},
new go.Binding("source")),
)
);
// This converter is used by the mediaUploader
function mediaContent(mediaC) {
use some SetDataProperty(data,source,mediaC)
..
};
mediaContent 関数は、php エコーを返します。
例:「/media/IMG_4310.jpg」
メディア アップローダーの方法: Ajax 形式
//------ //
// MEDIA UPLOAD //
//------ //
jQuery(document).ready(function() {
var options = {
beforeSubmit: beforeSubmit, // pre-submit callback
success: afterSuccess, // post-submit callback
uploadProgress: OnProgress, //upload progress callback
resetForm: true // reset the form after successful submit
};
...
および php メディア アップローダの一部:
if(move_uploaded_file($tmp_file, $UploadDirectory.$NewFileName ))
{
if($File_Ext=='.jpg' || $File_Ext=='.jpg' || $File_Ext=='.png' || $File_Ext=='.gif' )
{
//echo "<img src='media/".$NewFileName."' id='preview' class='img-responsive'>";
echo 'media/'.$NewFileName.'';
}
}
else{
die('error uploading File!');
}