B4J Question Access a windows shared folder DIRECTLY from Linux?


Well-Known Member
Licensed User
Longtime User
Here is the problem. For 20+ years our customers have been looking at pictures, drawings, docs by getting them directly from their windows server via shared directories. The file names are stored in the database as \\Servername\Subdir\...\filename. This has been fine with wired ethernet over a windows network.
Now we are doing wireless apps. And we are using jrdc2 and it works quite well. I added a feature that gets the picture files from the server and sends them to the B4j/A/i app and it works quite well-extremely fast. Much better than the SMB1 (eeek!!) stuff I had to do before.

As long as jrdc2 is on the server this goes quite well. The problem is customer can get very protective about their servers. They don't like outsiders putting new services on their servers so I thought I would make an "appliance" to do the job.
I have jrdc2 running nicely on a Raspberry Pi, the problem is the only information I have been able find about accessing windows shared directories on Linux involves "mounting" a local drive?
There are a couple of real problems with this. First and foremost we don't necessarily know in advance what shared directories need to be mounted. Shared directories do not necessarily have a common root dir.

The second problem is, if I do mount the share (using mount.cifs), I can't figure out how to mount the the directories such that the path stored in the db looks the same to as it it does in the DB. I thought ~MYServer would do it but it still looks like it is missing.

So the ideal solution would be to be able to access the shared directories the same as we do from windows. does anyone know if that is possible?

The second solution is to mount the share(s), but as mentioned, if that is the solution then I am wonder if it is possible to locate the mount such that the path to the files looks the same? I suppose I could add some sort of mapping parameter to config.properties but I really hate to add another level of complexity here. We have a lot of customers to set up.

This is what the command looks like in the jrdc2 log file::
 "GET /getfile?FileName=%5C%5CMyServer%5CSKData%5CSK_Images%5C0238888-000.jpg&Dir=%5C%5CMyServer%5CSKData%5CSK_Images HTTP/1.1" 200 6 "-" "okhttp/3.12.12"
I hope this is clear.

Thanks in advance for any help or ideas.