title: How can users upload images to a Slack app?
body: <p>To provide context i have a Slack bot that allows users to create ads, i am able to use a dialog to fetch the listing title, description and price. What am looking for is a way to allow users to also add images. </p>
  
  <p>The <a href="https://api.slack.com/methods/files.upload" rel="nofollow noreferrer">file.upload</a> seems to allow the bot to upload files but what i want is lo be able to allow users to select the files locally and upload them, the bot will then be able to capture this and respond accordingly. </p>
  
  <p>This is what i have so far</p>
  
  <pre><code>@app.route('/new', methods=['POST'])
  def new_listing():
  
      # Get payload
      api_url = 'https://slack.com/api/dialog.open'
  
      trigger_id = request.form.get('trigger_id')
  
      dialog = {
          "callback_id": "marketplace",
          "title": "Create a new listing",
          "submit_label": "Create",
          "notify_on_cancel": True,
          "state": "Item",
          "elements": [
              {
                  "type": "text",
                  "label": "Listing Title",
                  "name": "listing_title"
              },
              {
                  "type": "text",
                  "label": "Listing description",
                  "name": "listing_description"
              },
              {
                  "type": "text",
                  "label": "Listing Price",
                  "name": "listing_price"
              }
          ]
      }
  
  
      api_data = {
          "token": oauth_token,
          "trigger_id": trigger_id,
          "dialog": json.dumps(dialog)
      }
  
      res = requests.post(api_url, data=api_data)
      print(res.content)
  
      return make_response()
  
  @app.route('/message_actions', methods=['POST'])
  def message_actions():
      user_id = request.form['user']['id']
  
      submission = request.form['submission']
      title = submission['listing_title']
      description = submission['listing_description']
      price = submission['listing_price']
  
      # Add the listing to the database
  
      return make_response()
  </code></pre>