Express.js / Multer. onFileUploadComplete가 완료되기 전에 전송되는 응답

Lucasvw

파일 업로드 서비스에 다음 항목을 사용하고 있습니다.

onFileUploadStart: function (file) {
        uploadPath = "";
        imageDimensions = null;
        console.log(file.originalname + ' is starting to upload...');
    },
onFileUploadComplete: function (file) {
        uploadPath = file.path;
        uploadPath = uploadPath.replace(/\\/g,"/");
        console.log("Upload complete. " + file.fieldname + ' uploaded to  ' + file.path)
        sizeOf(file.path, function (err, dimensions) {
            if (err){
                console.log("ERROR, Can't get size of image! " + err);
                return;
            }
            else{
                imageDimensions = { 
                    width : dimensions.width,
                    height: dimensions.height
                };
                console.log("Size of image: width: " + imageDimensions.width + ". height: " + imageDimensions.height);
            }

        });
    }

app.post('/imageupload',function(req,res){
  upload(req,res,function(err) {
    console.log("response is being send..");
    if(err) {
        return res.end("Error uploading file.");
    }
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.json({
        dimensions: imageDimensions,
        path: uploadPath
    });
});

});

내가 이해하는 바에서 ( https://stackoverflow.com/a/30458411/2742995 ) onFileUploadComplete는 .post 핸들러가 실행되기 전에 먼저 처리됩니다. 그러나 내 콘솔에는 다음이 표시됩니다.

a.jpg is starting to upload...
Upload complete. file uploaded to uploadeddata\a1235412.jpg
response is being send..
Size of image: width: 2835, height: 1654

따라서 onFileUploadComplete 함수의 중간에서 .post 핸들러가 이미 실행되고있는 것 같습니다.

이 문제를 어떻게 해결할 수 있습니까?

Lucasvw

그래 알았어 ... 내가 사용한 sizeOf 함수는 비동기 .....

var dimensions = sizeOf(file.path);

동기화 된 버전입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

쿼리가 완료되기 전에 응답 보내기

분류에서Dev

응답 처리가 완료되기 전 오류 페이지

분류에서Dev

스크립트가 완료되기 전에 PHP에서 ajax로 응답 반환

분류에서Dev

Express, Multer 및 Cloudinary가 완전한 클라우드 응답을 반환하지 않음

분류에서Dev

NodeJS는 기능이 완료되기 전에 응답합니다.

분류에서Dev

Express.js의 req.body에서 추가 항목이 전송되는 것을 방지하는 방법

분류에서Dev

Python-PUT가 완료되기 전에 서버가 응답하면 HTTP 모듈이 응답을 구문 분석 할 수 없습니다.

분류에서Dev

쓰기가 완료되기 전에 IndexedDB 읽기 완료

분류에서Dev

가져 오기가 완료되기 전에 React.js 렌더링

분류에서Dev

useEffect가 완료되기 전에 후크 렌더링 구성 요소에 반응

분류에서Dev

Node.js / Express POST 데이터가 전송되지 않음

분류에서Dev

Express-2 개 이상의 응답이 전송되지 않도록 방지

분류에서Dev

NodeJS + Cpanel 오류 : 애플리케이션 (Node js, Express, Mongoose)에서 수신 된 불완전한 응답

분류에서Dev

파이썬 : 명령이 완료되기 전에 check_output에서 응답 받기

분류에서Dev

작업이 완료되기 전에 NodeJS 비동기가 완료 됨

분류에서Dev

Firebasequery가 완료되기 전에 Android 비동기 작업이 완료 됨

분류에서Dev

POST 호출이 전송되고 사용자가 완료되기 전에 브라우저를 종료하면 완료됩니까?

분류에서Dev

AWS Lambda에서 작업이 완료되기 전에 요청에 대한 200 ok 응답

분류에서Dev

express.js 응답 객체를 다른 모듈에 전달하는 방법

분류에서Dev

iprocess가 완료되기 전에 대기가 계속됩니다.

분류에서Dev

소스 Observable이 완료되기 전에`merge` 연산자가 완료되는 이유는 무엇입니까?

분류에서Dev

Express.js에서 하위 사이트를 추가하는 동안 CSS가 올바르게 전송되지 않습니다.

분류에서Dev

쿼리가 완료되기 전에 완료된 Big Query 작업 상태

분류에서Dev

비동기 응답이 돌아 오기 전에 fsx 스크립트가 완료 됨

분류에서Dev

콜백이 완료되기 전에 socket.io 함수가 반환 됨-Node.js

분류에서Dev

시간 초과가 만료되었습니다. 작업이 완료되기 전에 시간 초과 기간이 경과했거나 서버가 응답하지 않습니다. "

분류에서Dev

일부 동기화 코드를 실행하기 전에 JS 비동기 함수가 완료되기를 기다리는 중

분류에서Dev

[CBAutocompleteTextFieldField 완료 :] : 인식 할 수없는 선택기가 인스턴스로 전송 되었습니까?

분류에서Dev

VBA가 완료되기 전에 중지됩니다.

Related 관련 기사

  1. 1

    쿼리가 완료되기 전에 응답 보내기

  2. 2

    응답 처리가 완료되기 전 오류 페이지

  3. 3

    스크립트가 완료되기 전에 PHP에서 ajax로 응답 반환

  4. 4

    Express, Multer 및 Cloudinary가 완전한 클라우드 응답을 반환하지 않음

  5. 5

    NodeJS는 기능이 완료되기 전에 응답합니다.

  6. 6

    Express.js의 req.body에서 추가 항목이 전송되는 것을 방지하는 방법

  7. 7

    Python-PUT가 완료되기 전에 서버가 응답하면 HTTP 모듈이 응답을 구문 분석 할 수 없습니다.

  8. 8

    쓰기가 완료되기 전에 IndexedDB 읽기 완료

  9. 9

    가져 오기가 완료되기 전에 React.js 렌더링

  10. 10

    useEffect가 완료되기 전에 후크 렌더링 구성 요소에 반응

  11. 11

    Node.js / Express POST 데이터가 전송되지 않음

  12. 12

    Express-2 개 이상의 응답이 전송되지 않도록 방지

  13. 13

    NodeJS + Cpanel 오류 : 애플리케이션 (Node js, Express, Mongoose)에서 수신 된 불완전한 응답

  14. 14

    파이썬 : 명령이 완료되기 전에 check_output에서 응답 받기

  15. 15

    작업이 완료되기 전에 NodeJS 비동기가 완료 됨

  16. 16

    Firebasequery가 완료되기 전에 Android 비동기 작업이 완료 됨

  17. 17

    POST 호출이 전송되고 사용자가 완료되기 전에 브라우저를 종료하면 완료됩니까?

  18. 18

    AWS Lambda에서 작업이 완료되기 전에 요청에 대한 200 ok 응답

  19. 19

    express.js 응답 객체를 다른 모듈에 전달하는 방법

  20. 20

    iprocess가 완료되기 전에 대기가 계속됩니다.

  21. 21

    소스 Observable이 완료되기 전에`merge` 연산자가 완료되는 이유는 무엇입니까?

  22. 22

    Express.js에서 하위 사이트를 추가하는 동안 CSS가 올바르게 전송되지 않습니다.

  23. 23

    쿼리가 완료되기 전에 완료된 Big Query 작업 상태

  24. 24

    비동기 응답이 돌아 오기 전에 fsx 스크립트가 완료 됨

  25. 25

    콜백이 완료되기 전에 socket.io 함수가 반환 됨-Node.js

  26. 26

    시간 초과가 만료되었습니다. 작업이 완료되기 전에 시간 초과 기간이 경과했거나 서버가 응답하지 않습니다. "

  27. 27

    일부 동기화 코드를 실행하기 전에 JS 비동기 함수가 완료되기를 기다리는 중

  28. 28

    [CBAutocompleteTextFieldField 완료 :] : 인식 할 수없는 선택기가 인스턴스로 전송 되었습니까?

  29. 29

    VBA가 완료되기 전에 중지됩니다.

뜨겁다태그

보관