数据库、图片均存储在服务器上,通过查询条件,可以得到记录。欲查看的图片的文件夹名从记录中可以得到。现在就是局域网各个用户想依次浏览这个文件的所有图片文件。
    图片文件均存放在服务器d盘,知道服务器IP地址登录口令。应当怎样实现。    新手,当学习delphi,劳烦各位出出主意,说的详细些。

解决方案 »

  1.   

    可以从服务器传到客户端来,可以采用SOCKET
      

  2.   

    有没有不采用socket的方法,有没有其他API能实现本功能。也可以将这个文件夹复制到本地,再本地浏览?
      

  3.   

    用数据库保存起来,查询的时候返回图片信息,然后显示到Client 的电脑上就行了
    去查下数据库图片保存,读取
      

  4.   

    因为现在,数据库只保存了图片文件夹的路径,图片也存在服务器硬盘上,这些都无法更改了
    没法用数据库保存了还有别的方法没有
    能不能通过API将文件下载到本地,再浏览 之类的
      

  5.   

     
    Option Compare Database
    Option Explicit'************ Code Start **********
    'This code was originally written by Dev Ashish.
    'It is not to be altered or distributed,
    'except as part of an application.
    'You are free to use it in any application,
    'provided the copyright notice is left unchanged.
    '
    'Code Courtesy of
    'Dev AshishPrivate Declare Function apiShellExecute Lib "shell32.dll" _
                                             Alias "ShellExecuteA" _
                                             (ByVal hwnd As Long, _
                                              ByVal lpOperation As String, _
                                              ByVal lpFile As String, _
                                              ByVal lpParameters As String, _
                                              ByVal lpDirectory As String, _
                                              ByVal nShowCmd As Long) _
                                             As Long'***App Window Constants***
    Public Const WIN_NORMAL = 1         'Open Normal
    Public Const WIN_MAX = 2            'Open Maximized
    Public Const WIN_MIN = 3            'Open Minimized'***Error Codes***
    Private Const ERROR_SUCCESS = 32&
    Private Const ERROR_NO_ASSOC = 31&
    Private Const ERROR_OUT_OF_MEM = 0&
    Private Const ERROR_FILE_NOT_FOUND = 2&
    Private Const ERROR_PATH_NOT_FOUND = 3&
    Private Const ERROR_BAD_FORMAT = 11&'***************Usage Examples***********************
    'Open a folder:     ?fHandleFile("C:\TEMP\",WIN_NORMAL)
    'Open a folder:     ?fHandleFile("\\192.168.0.45\TEMP\TEMP.JPG",WIN_NORMAL)
    'Call Email app:    ?fHandleFile("mailto:[email protected]",WIN_NORMAL)
    'Open URL:          ?fHandleFile("http://home.att.net/~dashish", WIN_NORMAL)
    'Handle Unknown extensions (call Open With Dialog):
    '                   ?fHandleFile("C:\TEMP\TestThis",Win_Normal)
    'Start Access instance:
    '                   ?fHandleFile("I:\mdbs\CodeNStuff.mdb", Win_NORMAL)
    '****************************************************Function fHandleFile(stFile As String, lShowHow As Long)
        Dim lRet As Long, varTaskID As Variant
        Dim stRet As String
        'First try ShellExecute
        lRet = apiShellExecute(hWndAccessApp, vbNullString, _
                               stFile, vbNullString, vbNullString, lShowHow)    If lRet > ERROR_SUCCESS Then
            stRet = vbNullString
            lRet = -1
        Else
            Select Case lRet
            Case ERROR_NO_ASSOC:
                'Try the OpenWith dialog
                varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL " _
                                & stFile, WIN_NORMAL)
                lRet = (varTaskID <> 0)
            Case ERROR_OUT_OF_MEM:
                stRet = "Error: Out of Memory/Resources. Couldn't Execute!"
            Case ERROR_FILE_NOT_FOUND:
                stRet = "Error: File not found.  Couldn't Execute!"
            Case ERROR_PATH_NOT_FOUND:
                stRet = "Error: Path not found. Couldn't Execute!"
            Case ERROR_BAD_FORMAT:
                stRet = "Error:  Bad File Format. Couldn't Execute!"
            Case Else:
            End Select
        End If
        fHandleFile = lRet & _
                      IIf(stRet = "", vbNullString, ", " & stRet)
    End Function
    '************ Code End **********这个是VB的例子.....
    或者你可以试试FTP控件
      

  6.   

    2种方法
    1:共享或者映射,把服务器地址可以存在配置文件或者是数据库中
    2:把图片下载到本地再加载,可用ftp或者用socket
      

  7.   

    图片存储的位置,局域网不共享
    能不能用WNetAddConnection2
    下面的程序显示连接成功了,怎样访问呢?图片位置是10.209.7.118的D:\098\1.ttfvar NetSource : TNetResource; //连接服务器结构
     dwResult:DWORD;           //连接文件服务器的返回值
     g_bFlag:boolean;begin
      g_bFlag:=True;
      NetSource.dwType:= RESOURCETYPE_ANY;
      NetSource.lpLocalName:='';
      NetSource.lpRemoteName:=PAnsiChar('\\'+'10.209.7.118');
      NetSource.lpProvider:='';
      dwResult:=WnetAddConnection2(NetSource,PAnsiChar('123456'),PAnsiChar('aaa'),CONNECT_UPDATE_PROFILE);  if dwResult<>0 then
      begin
        MessageDlg('连接文件服务器失败!'#13#10'请重新设置!',mtWarning,[mbOk],0);
        g_bFlag:=False;
      end;
      end
      

  8.   

    这是我第一次发帖,没解决,结贴率当然为0.现在还没解决。
    文件位置没有共享,除了用ftp方式,还有别的办法没有?
      

  9.   

    HTTP也可以,你是不是想把所有的可能都列出来?
      

  10.   

    觉得FTP还麻烦过放到Blob,在局域网为什么不能网络共享呢?有很多方法让共享文件夹不会显示到网上邻居。
      

  11.   

    建议使用
       1、socket服务器,自己编程。
       2、ftp服务器,有现存的ftp软件可用。 
       3、使用共享或者映射。