2

We run a web service and in the past we allowed ftp file uploads to our customers.

In the future we want to switch from ftp to http/https.

The ms-windows admins which currently upload data via ftp see no way to use http.

I have no clue either since I don't use ms-windows since 15 years any more.

Is there a simple tool for ms-windows which can do file upload via http?

Required features:

  • http upload (client only). Server side runs linux, apache, django
  • Needs to run under ms-windows.
  • batch processing (upload daily at 6:00 all files in local directory "foo")

Optional features:

  • Move local file to a different directory on success
  • available for linux
  • GUI
  • 2
    Who will upload? You, your customers, some bot? On a single machine or many? Do you need an HTTP server or client? With a UI or command-line? – Nicolas Raoul Sep 4 '17 at 10:07
  • 2
    I updated the question. I hope it is more clear now. The customer will upload from windows. It should be possible to run the upload via batch. Please ask again if you think something is missing. – guettli Sep 4 '17 at 13:33
1

Since I found no matching tool, I wrote one myself:

https://github.com/guettli/tbzuploader

tbzuploader

Generic http upload tool.

If the http upload was successfull, files get moved to a "done" sub directory.

The upload is considered successfull by tbzuploader if the servers replies with http status 201 Created

Additional features: Handles pairs of files.

For example you have four files: a.pdf, a.xml, b.pdf, b.xml

The first upload should take a.pdf and a.xml, and the second upload b.pdf and b.xml, then read the docs for --patterns.

Usage

Usage::

    usage: tbzuploader [-h] [--patterns= LIST_OF_PATTERNS]
                       [--min-age-seconds MIN_AGE_SECONDS]
                       [--done-directory DONE_DIRECTORY]
                       [--no-ssl-cert-verification]
                       local_directory url

    positional arguments:
      local_directory
      url

    optional arguments:
      -h, --help            show this help message and exit
      --patterns= LIST_OF_PATTERNS
                            List of file endings which should get uploaded
                            together. Example: --patterns="*.pdf *.xml" The pairs
                            (a.pdf, a.xml) and (b.pdf, b.xml) get uploaded
                            together
      --min-age-seconds MIN_AGE_SECONDS
                            Skip files which are too young. Default: 60
      --done-directory DONE_DIRECTORY
                            files get moved to this directory after successful
                            upload. Defaults to {local_directory}/done
      --no-ssl-cert-verification

Install

Install for usage from tbzuploader at pypi

pip install tbzuploader

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.