title: Open Image From Online, Save To Server Flask
body: <p>I am using Flask to open an image from a URL.</p>
  
  <pre><code>file = cStringIO.StringIO(urllib.urlopen(URL).read())
  img = Image.open(file)
  </code></pre>
  
  <p>I then want to take the image and save it to my site. When I do this, I get</p>
  
  <pre><code>Traceback (most recent call last):
    File "/Library/Python/2.7/site-packages/flask/app.py", line 1836, in __call__
      return self.wsgi_app(environ, start_response)
    File "/Library/Python/2.7/site-packages/flask/app.py", line 1820, in wsgi_app
      response = self.make_response(self.handle_exception(e))
    File "/Library/Python/2.7/site-packages/flask/app.py", line 1403, in handle_exception
      reraise(exc_type, exc_value, tb)
    File "/Library/Python/2.7/site-packages/flask/app.py", line 1817, in wsgi_app
      response = self.full_dispatch_request()
    File "/Library/Python/2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
      rv = self.handle_user_exception(e)
    File "/Library/Python/2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
      reraise(exc_type, exc_value, tb)
    File "/Library/Python/2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
      rv = self.dispatch_request()
    File "/Library/Python/2.7/site-packages/flask/app.py", line 1461, in dispatch_request
      return self.view_functions[rule.endpoint](**req.view_args)
    File "/Users/User/Desktop/Flask/fl.py", line 37, in index
      img.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
    File "/Library/Python/2.7/site-packages/PIL/Image.py", line 1648, in save
      raise KeyError(ext)  # unknown extension
  KeyError: ''
  </code></pre>
  
  <p>Here is the code to save:</p>
  
  <pre><code>filename = secure_filename(img.filename)
  img.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
  print url_for('uploaded_file', filename=filename)
  
  @app.route('/uploads/&lt;filename&gt;')
  def uploaded_file(filename):
      return send_from_directory(app.config['UPLOAD_FOLDER'], filename)
  </code></pre>
  
  <p>Why is this happening? How can I fix this?</p>