上传第一个指定的文件到 FTP 服务器。

    :param str file_path: 待上传文件的绝对路径。
    :param str remote_path: 文件在 FTP 服务器上的相对路径（相对于 FTP 服务器的初始路径）。
    :param dict ftp_conf: ftp配置文件，详见 :func:`get_ftp` 。
    :param bool remove_file: 上传成功后是否删除本地文件。
    :returns: FTP 服务器上的文件列表
    :rtype: list

def upload_file(file_path, remote_path, ftp_conf, remove_file=False):
    """上传第一个指定的文件到 FTP 服务器。

    :param str file_path: 待上传文件的绝对路径。
    :param str remote_path: 文件在 FTP 服务器上的相对路径（相对于 FTP 服务器的初始路径）。
    :param dict ftp_conf: ftp配置文件，详见 :func:`get_ftp` 。
    :param bool remove_file: 上传成功后是否删除本地文件。
    :returns: FTP 服务器上的文件列表
    :rtype: list

    """
    check_ftp_conf(ftp_conf)

    ftp, ftpStr = get_ftp(ftp_conf)
    lf = open(file_path, 'rb')
    slog.info('Uploading "%s" to "%s/%s" ......'%(file_path, ftpStr, remote_path))
    ftp.storbinary("STOR %s"%remote_path, lf)
    filelist = ftp.nlst()
    ftp.quit()
    lf.close()
    if remove_file:
        os.remove(file_path)
    slog.info('Upload done.')
    return filelist