• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

도저히 모르겠어서, 여기다 올리네요ㅜ

21.04.04 23:50 작성 조회수 108

0

안녕하세요. 크롤링 강의를 수강하는 사람입니다.

강의를 바탕으로 개인 프로젝트를 하고 있는데, 도저히 진행이 안되서 여기다 질문드립니다..

강의랑 상관없는 내용일 수  있어서 곤란하시면 답변을 안주셔도 상관없습니다..ㅠ

--지금 상황--

1. 크롤링 프로젝트를 만들고, 헤로쿠에서 기동하고 있습니다.

2. 파일 업로드 소스에서 문제가 발생합니다.

3. 로컬에서 기동할 때에는 잘 되는데, heroku에서는 파일 업로드가 잘 안됩니다.

4. 파일 업로드 소스부분입니다.

    imagePathArray = fs.readdirSync(path.join(__dirname, '../tempSave'), function(error, fileList){
        if(error)return console.log("error",error);
        return fileList;
    })
    imagePathArray = imagePathArray.map((v) => {
        return path.join(__dirname, `../tempSave/${v}`);
    });
    const[fileChooser] = await Promise.all([
        page.waitForFileChooser(),
        page.click('.bmm-c-field__input .bmm-c-img-upload__dropzone'),
    ])
    console.log("imagePathArray 확인", imagePathArray);
    await fileChooser.accept(imagePathArray);
    await page.waitForTimeout(20000);

헤로쿠에서 위의 소스의 imagePathArray에 path값이 들어오는 것은 확인 했습니다.

문제는 Promise.all인것 같은데, 이부분이 로컬에서는 잘되는데 헤로쿠에서는 잘 안되는 것같습니다.

혹시 사용법이 잘못되었을까요..? 뭔가 아시는분이 있으면 답변 부탁드립니다ㅜ

답변 1

답변을 작성해보세요.

0

console.log("imagePathArray 확인", imagePathArray);
이게 로그가 안 찍히는 상황 맞으신가요? path값이 들어오는 것은 어떻게 확인하셨나요?
await fileChooser.accept(imagePathArray);
뒤에도 console.log 넣어보심이 좋을 것 같습니다.
jadubell님의 프로필

jadubell

질문자

2021.04.05

답글 감사합니다ㅜ

위의 문제 해결했습니다!