zurück  •  Downloads  •  Impressum

Frequently Asked Questions zu Filemaker und anderen Sachen.

Sie wollen uns verlinken? Ja gerne, bitte kopieren Sie einfach folgenden Link: fmppicdemo 0.9.0.51 (IN ARBEIT) Die in der Adresszeile des Browsers gezeigte URL sollten Sie wegen enthaltener Sessioninformationen (S(...)) möglichst NICHT benutzen.

Bota
C#, .NET, ASP.NET
die Module - Anleitungen
Filemaker Pro
Filemaker Server
Google Maps Business View
Google Maps, Geodatenbanken
Hardwareprobleme
html
interna
kolor.com (ptp, apg)
os/x yosemity / el capitan
pano2vr
vmware fusion
Windows 10
Windows xp / 2003 / Vista / 7
Youtube

Label
Label
die Module - Anleitungen  -  fmppicdemo 0.9.0.51 (IN ARBEIT)

Was macht fmppicdemo
Beispiele in der Praxis
technische Voraussetzungen
Installation und ODBC-Treiber
Programmierung
Konfiguration der Komponente
Referenz
bekannte Fehler, ungelöste Probleme, Versionshistorie


Was macht fmppicdemo Inhalt
Mit dem Modul fmppicdemo können Sie im IWP von Filemaker Server 9 Advanced (zur Not auch mit dem IWP von Filemaker Pro 9 Advanced) Bilder, oder Dateien allgemein, vom Client zur Datenbank uploaden.


Beispiele in der Praxis Inhalt
einfaches Beispiel
Starten Sie das Beispiel mit...
Kontoname: webuser
Passwort: web123

export import demo
Etwas komplexeres Demo, einige der dortigen Module werden erst später als Download verfügbar sein. Bitte schauen sie später nochmal nach verfügbaren Downloads.


technische Voraussetzungen Inhalt
 - Windows Server 2003 (oder neuer) mit installiertem IIS und freigeschaltetem ASP.Net, .NET Framework 2.0
    * alternativ zum Testen Windows XP (oder neuer) mit installiertem IIS
 - Filemaker Server 9 (oder neuer) Advanced
    * alternativ zum Testen Filemaker 9 (oder neuer) Pro Advanced
 - den Filemaker ODBC-Treiber


Installation und ODBC-Treiber Inhalt
Die beiliegende Filemaker-Datei fmp/fmppicdemohaifischbarcom.fp7 muß in Ihrem Filemaker-Server Advanced installiert werden.

Installieren Sie den ODBC-Treiber von Ihrer Filemaker-Server-CD auf dem Server und konfigurieren Sie den Treiber.

Auf dem ODBC-Datenquellen-Administrator gehen Sie bitte auf den Reiter System-DSN und fügen einen DataDirekt 32-Bit Sequelink Treiber hinzu. Sollten Sie ein 64-Bit Windows haben, ist unter ODBC-Treiber erscheint nicht auf Windows 7 64 bit beschrieben, wie die 32-Bit-Treiber trotzdem zugefügt und konfiguriert werden können.


Wählen Sie den Sequelink-Treiber und konfigurieren ihn.


Die rot markieten Felder müssen eingegeben werden, danach kann durch einen Klick auf den blau markierten Button die Tabelle fmppicdemohaifischbarcom ausgewählt werden.


Den Test Connect machen Sie bitte mit der Benutzerkennung webuser, Kennwort web123.


Sollte der Testconnect nicht mit successful abschließen, prüfen Sie mit der Filemaker Admin-Konsole, ob fmppicdemohaifischbarcom korrekt im Filemakerserver installiert ist, und ob ODBC freigegeben ist.

Firewalleinstellungen ??? muß noch.


Programmierung Inhalt
Auf der aspx-Hilfsseite wird als Minimum eine Label, eine File-Upload Komponente, sowie ein Button benötigt.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="picimport_fuer_webviewer.aspx.cs" Inherits="picimport_fuer_webviewer" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<link href="picimport_fuer_webviewer.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
Bildimport für:
<asp:Label ID="lb_sn" runat="server" Text="Label"></asp:Label><br />
<asp:FileUpload ID="fu_bild" runat="server" />
<asp:Button ID="bt_laden" runat="server" Text="Ja, Bild laden" OnClick="bt_laden_Click" /><br />
<br />
geladenes Bild:
<asp:Label ID="lb_bildname" runat="server" Text="Label"></asp:Label><br />
Fehlermeldung:
<asp:Label ID="lb_fehler" runat="server" Text="Label"></asp:Label>
</form>
</body>
</html>

Das Label kann im späteren Betrieb problemslos mit .Visible=False unsichtbar gemacht werden.

Im Codefile der Seite sind folgende Bereiche notwendig:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class picimport_fuer_webviewer : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string temp = Request.Params["sn"];
if (temp != null)
lb_sn.Text = temp;
else
lb_sn.Text = "";
};
lb_bildname.Text = fu_bild.FileName;

}

protected void bt_laden_Click(object sender, EventArgs e)
{
cls_filemakerhilfen.cls_iwpimport_pic_2_filemaker p2f = new cls_filemakerhilfen.cls_iwpimport_pic_2_filemaker(Request, "minimalbeispiel");
p2f.pic2fm_command.Parameters.Add("@sn", System.Data.Odbc.OdbcType.BigInt);
p2f.pic2fm_command.Parameters["@sn"].Value = lb_sn.Text;
p2f.bild_importieren(fu_bild, fu_bild.FileName, Request, lb_sn.Text);

lb_fehler.Text = p2f.fehlercode.ToString() + " " + p2f.fehlertext;
p2f.beenden();
p2f = null;

}
}

Der vom Webviewer übergebene Parameter "sn" muß beim ersten Aufruf der Seite !IsPostback zwischengespeichert werden.
Danach muß in der Eventroutine bt_laden_klick eine Komponente der Klasse cls_filemakerhilfen.cls_iwpimport_pic_2_filemaker instanziiet werden. Sie benötigt die Parameter Request und einen String zur Identifikation der Konfiguration in der Web.Config.
Direkt nach dem instanziieren der Komponente p2f muß ihr noch ein zweite Parameter bekannt gemacht werden. Dieser zweite Parameter kann nicht von der Komponente selber angegegen werden, da er je nach "insert into.." statement variieren kann und teilweise vom Typ System.Data.Odbc.OdbcType.BigInt, System.Data.Odbc.OdbcType.VarChar, oder ein anderer Datenbanktyp sein kann.
Dann muß der Parameter "sn" mit dem übergebenen Parameter aus der URL vom Webviewer gefüllt werden.
Angegebene Webadresse im Webviewer: "http://fmp.haifischbar.com:88/fmppicdemo/picimport_fuer_webviewer.aspx?sn=" & fmppicdemo::sn.
Dieser Wert wird aus der Zwischenspeicherung in lb_sn.Text geholt.

Das Abspeichern der hochgeladenen Bilddatei geschieht über den Aufruf
p2f.bild_importieren(fu_bild, fu_bild.FileName, Request, lb_sn.Text);
Der letzte Parameter gibt die Seriennummer nochmals als Unterverzeichnis im Speicherverzeichnis am, für dem Fall daß mehrere Bilder gleichen Namens hochgeladen werden.

Zuletzt muß mit p2f.beenden() die Komponente sauber "leergefegt" werden.


Konfiguration der Komponente Inhalt

MUß NOCH!!!
Zusammenhang Verzeichnis der Webapplikation, physisches Downloadverzeichnis zu keys im webconfig
~/temp, ~/picupload KEINE Ausführungsberechtigung wegen hochladbarer *.exe!!!, Sicherheitseinstellungen Vollzugriff für Jeder
asp.net 2.0, Anwendungspool für die Webapplikation
warum unteschiedliche Downloadordner für localhost (Entwicklung) und Produktionsumgebung



Referenz Inhalt

/// <summary>
///
/// </summary>
/// <param name="_rq">der aktuelle Request der Webseite</param>
/// <param name="_common_config_key">Identifikation für die Setup-Strings in der Web.Config</param>
public cls_iwpimport_pic_2_filemaker(System.Web.HttpRequest _rq, string _common_config_key)


/// <summary>
///
/// </summary>
/// <param name="_rq">der aktuelle Request der Webseite</param>
/// <param name="_odbcconnectionstring">der Connectionsring für die ODBC-Verbindung zur Filemaker-Datenbank</param>
/// <param name="_command">der Commandstring (insert into ...)</param>
public cls_iwpimport_pic_2_filemaker(System.Web.HttpRequest _rq, string _odbcconnectionstring, string _command)



/// <summary>
/// beendet die Komponente und "fegt alles sauber"
/// </summary>
public void beenden()


/// <summary>
/// speichert die vom FileUpload gegebene Datei als Bild in Filemaker
/// </summary>
/// <param name="_fupload">ein FileUpload-Steuerelement</param>
/// <param name="_safeasfilename">Dateiname OHNE zusätzliche Pfadangaben!</param>
/// <param name="_request">aktueller Request der Webseite</param>
/// <param name="_unterpfad">zusätzlicher Unterpfad zum "minimalbeispiel.physischesverzeichnis" value="~/picupload" aus der WebConfig</param>
public void bild_importieren(System.Web.UI.WebControls.FileUpload _fupload, string _safeasfilename, System.Web.HttpRequest _request, string _unterpfad)


/// <summary>
/// speichert die gegebene Datei als Bild in Filemaker
/// </summary>
/// <param name="_vorhandenesbild">der physiche Dateinname (c:/bilder/xyz/meinbild.jpg) einer Bilddatei, die in Filemaker abgelegt werden soll</param>
/// <param name="_request">aktueller Request der Webseite</param>
/// <param name="_unterpfad">zusätzlicher Unterpfad zum "minimalbeispiel.physischesverzeichnis" value="~/picupload" aus der WebConfig</param>
public void vorhandenes_bild_importieren(string _vorhandenesbild, System.Web.HttpRequest _request, string _unterpfad)


Folgende keys müssen in der Web.Config im Bereich appsettings mindestens vorhanden sein, folgende können zur genaueren Anpassung an verschieden Webadressen (localhost, fmp.haifischbar.com) zusätzlich gemacht werden, the red keys must be given, the blue keys are optional:
<?xml version="1.0"?>
<!--
Note: As an alternative to hand editing this file you can use the
web admin tool to configure settings for your application. Use
the Website->Asp.Net Configuration option in Visual Studio.
A full list of settings and comments can be found in
machine.config.comments usually located in
\Windows\Microsoft.Net\Framework\v2.x\Config
-->
<configuration>
<appSettings>
<!--
anzupassende Elemente im connectionstring (minimalbeispiel.odbc.connection), things you have to customize in minimalbeispiel.odbc.connection:
DSN= Name der System-DSN, name of the system-DSN
UID= Kontoname der Filemaker-Datei, user name/account name from your filemaker file
PWD= Kennwort des Filemaker-Kontos, password of your filemaker account
SDSN= Dateiname der Filemaker-Datei (fmppicdemohaifischbarcom.fp7) OHNE .fp7, filename of your filemaker file WITHOUT .fp7
HST= IP-Adresse des Filemaker-Server. Da auf der selben Maschine, solle 127.0.0.1 in den meisten Fällen funktionieren. Ip-adress of the filemaker server. 127.0.0.1 should work for local access.
PRT= Portadresse des ODBC-Zuganges, muß immer 2399 sein. Port number of the sequelink odbc driver, this is always 2399.
-->
<add key="minimalbeispiel.tempdir" value="~/temp"/>
<add key="minimalbeispiel.odbc.connection" value="DSN=fmppicdemodsn;UID=webuser;PWD=web123;SDSN=fmppicdemohaifischbarcom;HST=127.0.0.1;PRT=2399"/>
<add key="minimalbeispiel.odbc.command" value="update fmppicdemo set bildausweb=? where sn=?"/>
<add key="minimalbeispiel.physischesverzeichnis" value="~/picupload"/>
<add key="minimalbeispiel.physischesverzeichnisFILEMAKERWEB" value="~/Web/fmppicdemo/picupload"/>


<add key="minimalbeispiel.localhost.tempdir" value="~/templocal"/>
<add key="minimalbeispiel.localhost.physischesverzeichnis" value="~/picuploadlocal"/>
<add key="minimalbeispiel.localhost.physischesverzeichnisFILEMAKERWEB" value="~/Web/picuploadlocal"/>

<add key="minimalbeispiel.fmpdummy.haifischbar.com.tempdir" value="~/temphaifischbar"/>
<add key="minimalbeispiel.fmpdummy.haifischbar.com.physischesverzeichnis" value="~/picuploadhaifischbar"/>
<add key="minimalbeispiel.fmpdummy.haifischbar.com.physischesverzeichnisFILEMAKERWEB" value="~/Web/fmppicdemo/picuploadhaifischbar"/>

</appSettings >
... Rest der Web.Config weggelassen, rest of web.config cut away


bekannte Fehler, ungelöste Probleme, Versionshistorie Inhalt
0.9.0.48 Beliebige Mediendateien konnten nicht geladen werden, Fehlerhafte Erkennung der size: bei nicht-Bilddateien behoben, Linkgenerierung angepasst.
0.9.0.49 Zu langer Link wurde abgeschnitten, Standardgröße des Parameterfeldes erhöht.
0.9.0.50 mit ...beenden() wird jetzt im Tempfolder korrekt aufgeräumt.
0.9.0.51 11.12.2009 ok, bis jetzt keine weiteren Fehler bekannt.


Diese Seite wurde viermillionendreihundertdreizehntausendsechshundertzweiundsiebzig mal aufgerufen.