title: How to use tempfile.NamedTemporaryFile() to save an image?
body: <p>I am trying to a write a code in Python that will get a picture of a dashboard in tableau and send it to a slack channel.
  first part works perfectly and saves the image to my local laptop. But when trying to save the image in a temp path and send it to a channel I get the error:</p>
  <pre><code>---&gt; 45 f = {'file': (temp_file.name, open(temp_file.name, 'rb'), 'png')} 
  
  46 response = requests.post(url='slack./com/api/files.upload', data= 47 {'token': bot_token, 'channels': slack_channels, 'media': f,'initial_comment' :''}, 
  
  PermissionError: [Errno 13] Permission denied: 'C:\\Users\\Userlogin-~1\\AppData\\Local\\Temp\\tmp3fzm10gj.png'
  
  </code></pre>
  <p>Here is the code:</p>
  <pre><code>import requests 
  from slack import WebClient
      
  from datetime import date, timedelta, datetime
      
  import tableauserverclient as TSC
  from tableau_api_lib import TableauServerConnection
  from tableau_api_lib.utils.querying import get_views_dataframe, get_view_data_dataframe
  
  req_option = TSC.RequestOptions().page_size(1000)
  image_req_option = TSC.ImageRequestOptions(imageresolution=TSC.ImageRequestOptions.Resolution.High)
  
  with server.auth.sign_in(tableau_auth):
      all_workbooks, pagination_item = server.workbooks.get(req_option)
      workbook_id_ = [workbook.id for workbook in all_workbooks if workbook.name == workbook_name][0]
      workbook = server.workbooks.get_by_id(workbook_id_)
      all_views= workbook.views
  
      for view_item in all_views:
          if view_item.name == view_name:
              with tempfile.NamedTemporaryFile(suffix='.png', delete=True) as temp_file:
                  server.views.populate_image(view_item, req_options=image_req_option)
                  temp_file.write(view_item.image)
                  print('image is created')
                  # I get the error after the print
                  f = {'file': (temp_file.name, open(temp_file.name, 'rb'), 'png')}
                  response = requests.post(url='https://slack./com/api/files.upload', data=
                             {'token': bot_token, 'channels': slack_channels, 'media': f, 'initial_comment' :''},
                             headers={'Accept': 'application/json'}, files=f)
                  print('the image is in the channel')
  </code></pre>