AMcoder - javascript, python, java, html, php, sql

Սխալ՝ apk ֆայլը Browserstack ամպում վերբեռնելիս՝ օգտագործելով Axios / node-fetch

Ես փորձում եմ ծրագրային կերպով վերբեռնել .apk / .ipa ֆայլը բրաուզերի ստաք ամպում (curl հրամանը գործարկելու փոխարեն)

Ընտրանք 1. Node-fetch api

const myfetch = require('node-fetch');

const buildToPost = {
   file: '</my path>'
};

const options = {
   method: 'POST',
   body: JSON.stringify(buildToPost)
};

myfetch('https://</myusername>:</mykey>@api.browserstack.com/app-automate/upload', options)
   .then(res => res.json())
   .then(res => console.log(res))
   .catch(error => console.error('Error:', error));​

Բայց դա տալիս է հետևյալ սխալը.

{ error: 'Անվավեր ձևաչափ: Այցելեք REST API փաստաթուղթը վավեր API ձևաչափի համար - https://www.browserstack.com/app-automate/rest-api'}

Ընտրանք 2. Axios API

    const axios = require('axios');

axios.post('https://</myusername>:</mykey>​@api-cloud.browserstack.com/app-automate/upload', {
      File: '</my path>​'
   })
   .then
   ((response) => {
      console.log(response);
   }).catch((error) => {
      console.log((error));
})​

Սխալ. տվյալներ.

{ error: 'Անվավեր ձևաչափ: Այցելեք REST API փաստաթուղթը վավեր API ձևաչափի համար - https://www.browserstack.com/app-automate/rest-api' } } }

Curl հրամանի տեղեկանք.

curl -u "</myusername>:</mykey>" -X POST https://api-cloud.browserstack.com/app-automate/upload -F "file=@/path/to/app/file/Application-debug.apk" -F 'data={"custom_id": "MyApp"}'

Դիտարկիչի նմուշի հղում


  • Նշում. Վերբեռնվող ֆայլը առկա է տեղական սկավառակի/թղթապանակում 19.02.2019

Պատասխանները:


1

Ահա թե ինչպես դա անել axios-ի հետ: Կարևոր կետերն են.

  • Նույնականացում (օգտագործելով user տարբերակը)
  • FormData մոդուլի օգտագործումը բազմամասից տվյալներ ներկայացնելու համար
  • Սահմանելով maxContentLength տարբերակը բավականաչափ բարձր՝ ձեր ֆայլը վերբեռնելու համար:

Կոդը՝ ստորև։

import axios from 'axios';
import fs from 'fs';
import FormData from 'form-data';

const formData = new FormData();

// Open file stream
const newFile = fs.createReadStream(binaryPath);

// Add form field params
formData.append('file', newFile, 'my_filename.apk');
formData.append('custom_id', 'npm_uploaded_apk');

axios({
  url: 'https://api-cloud.browserstack.com/app-automate/upload',
  method: 'post',
  headers: formData.getHeaders(),
  auth: {
    username:'my_browserstack_username',
    password: 'my_browserstack_access_key',
  },
  data: formData,
  maxContentLength: 1073741824,
})
  .then(response => {
    // The object with the 'app_url' parameter is in the 'data' field of the response.
    console.log('POST successful: ', response.data);
  })
  .catch((error) => {
    console.log('POST error: ', error);
  });

Այս մասին լրացուցիչ նախապատմություն այս GitHub թեմայում:

02.05.2019
Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..