Here is the error case: <https://codepen.io/Gerhut/pen/OErpQm?editors=0012>

Browsers will set Content-Type header automatically from `Blob#type` or `File#type` (if exists) when sending a Blob/File through xhr, which is overwritten by `axios.defaults.headers.post`.

Shall we provide a specific behavior about this case, either remove the `Content-Type` and let it be set by the browser (like FormData) or set it as `Blob#type` or `File#type` manually to increase compatibility? (Although I don't know if there is any browser don't set `Blob#type` or `File#type` in xhr.)

lib/adapters/xhr.js
return;
      }
      
      
      
      
      if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
        return;
      }
      
      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
      var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
      var response = {
        data: responseData,
        status: request.status,
        statusText: request.statusText,
        headers: responseHeaders,
        config: config,
        request: request
      };
      settle(resolve, reject, response);
      
      request = null;
    };
    
    request.onabort = function handleAbort() {
      if (!request) {
        return;
      }
      reject(createError('Request aborted', config, 'ECONNABORTED', request));