fdfs_client.exceptions.DataError: [-] Error: 2, No such file or directory报错问题

做项目前,先试着向docker上传图片时报错,如图:

Traceback (most recent call last):
  File "", line 1, in <module>
  File "d:\software\python\Lib\fdfs_client\client.py", line 90, in upload_by_filename
    store_serv = tc.tracker_query_storage_stor_without_group()
  File "d:\software\python\Lib\fdfs_client\tracker_client.py", line 381, in tracker_query_storage_stor_without_group
    raise DataError('[-] Error: %d, %s' % (th.status, os.strerror(th.status)))
fdfs_client.exceptions.DataError: [-] Error: 2, No such file or directory

从网上查到的原因是storage启动时设置的IP或端口和python中链接文件(如:client.conf)中的IP地址不一致所导致的。
从docker中删除storage:
先让storage停止运行,然后删除storage:
在这里插入图片描述
因为项目是在Windows上开发,docker在ubuntu上,所以先固定虚拟机上的IP地址,然后重新设置storage:

docker run -dti --network=host --name storage -e TRACKER_SERVER=192.168.85.140:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage

将项目中的fdfs的设置文件client.conf中tracker_server对应的IP地址也改为虚拟机上的IP地址:

tracker_server = 192.168.85.140:22122

在这里插入图片描述
运行storage,结果:
在这里插入图片描述
storage没有启动。翻了下之前的课件,要删除/var/fdfs/storage/data目录下的fdfs_storaged.pid 文件,然后重新运行 storage。
fdfs_client.exceptions.DataError: [-] Error: 2, No such file or directory报错问题_第1张图片
运行成功。
从windows上传图片:

>>> from fdfs_client.client import Fdfs_client
>>> client = Fdfs_client(r'C:\Users\lixx\Desktop\meiduo_sh32\meiduo_p\meiduo_mall\meiduo_mal
l\utils\fdfs
  File "", line 1
    client = Fdfs_client(r'C:\Users\lixx\Desktop\meiduo_sh32\meiduo_p\meiduo_mall\meiduo_mal
l\utils\fdfs
                                                                                                       ^
SyntaxError: EOL while scanning string literal
>>> client = Fdfs_client(r'C:\Users\lixx\Desktop\meiduo_sh32\meiduo_p\meiduo_mall\meiduo_mall\utils\fdfs\client.conf')
>>> res = client.upload_by_filename(r'C:\Users\lixx\Desktop\indialitspace.jpg')
getting connection
<fdfs_client.connection.Connection object at 0x00000117A4BF75C8>
<fdfs_client.fdfs_protol.Tracker_header object at 0x00000117A4BF7608>
>>> res
{'Group name': 'group1', 'Remote file_id': 'group1\\M00/00/02/wKhVjF5EIxiAAnM-AARPLNtYnak974.jpg', 'Status': 'Upload successed.', 'Local file name': 'C:\\Users\\lixx\\Desktop\\indialitspace.jpg', 'Uploaded size
': '275.00KB', 'Storage IP': '192.168.85.140'}

上传成功。
参考网址:https://www.cnblogs.com/zi-lin-xia-tian/p/9246370.html

你可能感兴趣的:(python,docker,nginx,ubuntu)