# Uploading csv file from Local machine to the remote server by FTP protocol

**URL:** <https://forum.inductiveautomation.com/t/uploading-csv-file-from-local-machine-to-the-remote-server-by-ftp-protocol/16215>\
**Category:** General Discussion\
**Tags:** scripting\
**Created:** [December 5, 2017, 10:05am UTC](https://forum.inductiveautomation.com/t/uploading-csv-file-from-local-machine-to-the-remote-server-by-ftp-protocol/16215 "2017-12-05T10:05:41Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![dya4enko.serj](https://avatars.discourse-cdn.com/v4/letter/d/f4b2a3/32.png) [@dya4enko.serj](https://forum.inductiveautomation.com/u/dya4enko.serj)\
**Post date:** [December 5, 2017, 10:05am UTC](https://forum.inductiveautomation.com/t/uploading-csv-file-from-local-machine-to-the-remote-server-by-ftp-protocol/16215/1 "2017-12-05T10:05:41Z")

</div>

Hello, everybody!  
I need yor advice. I have a task and it’s uploading a CSV file, that was generated and saved by ignition with the special skript on local server, to the remote server using FTP protocol. How i can realize this task in most correct way?  
I have tried to use skript:  
 ![](https://us1.discourse-cdn.com/inductiveautomation/original/2X/5/521d392296f0776992e298d39b97c336d507c3c8.png)  
But i got errors like this:

```auto
"Traceback (most recent call last):
  File "<script playground>", line 9, in <module>
  File "C:\Users\??\.ignition\cache\gwlocalhost_8088_8043_main\C1\pylib\ftplib.py", line 437, in storlines
    conn = self.transfercmd(cmd)
  File "C:\Users\??\.ignition\cache\gwlocalhost_8088_8043_main\C1\pylib\ftplib.py", line 356, in transfercmd
    return self.ntransfercmd(cmd, rest)[0]
  File "C:\Users\??\.ignition\cache\gwlocalhost_8088_8043_main\C1\pylib\ftplib.py", line 321, in ntransfercmd
    host, port = self.makepasv()
  File "C:\Users\??\.ignition\cache\gwlocalhost_8088_8043_main\C1\pylib\ftplib.py", line 299, in makepasv
    host, port = parse227(self.sendcmd('PASV'))
  File "C:\Users\??\.ignition\cache\gwlocalhost_8088_8043_main\C1\pylib\ftplib.py", line 241, in sendcmd
    return self.getresp()
  File "C:\Users\??\.ignition\cache\gwlocalhost_8088_8043_main\C1\pylib\ftplib.py", line 207, in getresp
    resp = self.getmultiline()
  File "C:\Users\??\.ignition\cache\gwlocalhost_8088_8043_main\C1\pylib\ftplib.py", line 193, in getmultiline
    line = self.getline()
  File "C:\Users\??\.ignition\cache\gwlocalhost_8088_8043_main\C1\pylib\ftplib.py", line 180, in getline
    line = self.file.readline()
  File "C:\Users\??\.ignition\cache\gwlocalhost_8088_8043_main\C1\pylib\socket.py", line 1599, in readline
    data = self._sock.recv(self._rbufsize)
  File "C:\Users\??\.ignition\cache\gwlocalhost_8088_8043_main\C1\pylib\socket.py", line 1199, in recv
    raise _map_exception(jlx)
socket.error: (10054, 'Software caused connection abort')"

```

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [December 5, 2017, 4:25pm UTC](https://forum.inductiveautomation.com/t/uploading-csv-file-from-local-machine-to-the-remote-server-by-ftp-protocol/16215/2 "2017-12-05T16:25:40Z")

</div>

> [@dya4enko.serj](#):
>
> socket.error: (10054, 'Software caused connection abort')"

> The most common cause for a socket error 10054 is the use of an invalid FTP host address. Double-check to make sure that you are using the correct FTP host address.

> A socket error 10054 can also be caused by any of the following reasons:

- The remote server was stopped or restarted.
- The remote network interface is disabled for some reason.
- There are too many users logged on to the server.
- Your account on the remote server is restricted for some reason.
