title: Flask AttributeError: 'unicode' object has no attribute 'tell'
body: <p>I'm trying to upload images to Amazon S3 with a Flask app and store the keys and metadata in a Redis db. Here is my app:</p>
  
  <pre><code>def s3upload(image, acl='public-read'):
      key = app.config['S3_KEY']
      secret = app.config['S3_SECRET']
      bucket = app.config['S3_BUCKET']
  
      conn = S3Connection(key, secret)
      mybucket = conn.get_bucket(bucket)
  
      r = redis.StrictRedis(connection_pool = pool)
      iid = r.incr('image')
      now = time.time()
      r.zadd('image:created_on', now, iid)
  
  
      k = Key(mybucket)
      k.key = iid
      k.set_contents_from_file(image)
  
      return iid
  
  @app.route('/', methods = ['GET', 'POST'])
  def index():
      form = ImageForm(request.form)
      print 'CHECKING REQUEST'
      if form.validate_on_submit():
          print 'VALID REQUEST'
          image = form.image.data
          s3upload(image)
      else:
          image = None
  
      r = redis.StrictRedis(connection_pool = pool)
      last_ten = r.zrange('image:created_on', 0, 9)
      print last_ten
      images = []
  
      key = app.config['S3_KEY']
      secret = app.config['S3_SECRET']
      bucket = app.config['S3_BUCKET']
  
      conn = S3Connection(key, secret)
      mybucket = conn.get_bucket(bucket)  
  
  
      for image in last_ten:
  
          images.append(mybucket.get_key(image, validate = False))
  
  
      return render_template('index.html', form=form, images=images)
  </code></pre>
  
  <p>The page loads successfully, however when I try to upload the image it returns an error:</p>
  
  <p><code>AttributeError: 'unicode' object has no attribute 'tell'</code> at <code>set_contents_from_file</code>.</p>
  
  <p>The line the fails is: <code>spos = fp.tell()</code></p>
  
  <p>Any help is appreciated thanks.</p>