העלאת קובץ (nodejs) לא ממספר אוטומטי
-
זה הקוד שלי:
function performYemotUp(user,pass,path,file) { const fileName = file; const phpEndpoint = 'https://www.call2all.co.il/ym/api/UploadFile'; let fileBuffer = ''; if (fileName) { const fileContent = fs.readFileSync(fileName); fileBuffer = Buffer.from(fileContent); } const formData = new FormData(); if (fileName){ formData.append('file', fileBuffer, { filename: fileName }); } formData.append('path', 'ivr2:2/55/'); formData.append('token', user + ':' + pass); formData.append('convertAudio', "1"); formData.append('autoNumbering', 'true'); axios.post(phpEndpoint, formData, { headers: { 'Content-Type': `multipart/form-data; boundary=${formData._boundary}`, }, }).then(response => { console.log(response.data); return response.data }) .catch(error => { console.error(error); }); }
הקובץ מועלה בשם 55.wav אשמח לעזרה, תודה רבה!!
-
@פיסטוק-פרווה כתב בהעלאת קובץ (nodejs) לא ממספר אוטומטי:
formData.append('autoNumbering', 'true');
מה השאלה בעצם?
-
@צדיק-תמים
זה אמור לעשות מספור אוטומטי 000 וזה לא עושה -
@פיסטוק-פרווה תנסה לשלוח את הפרמטרים לא בform אלא בparams
await axiosInstance.post('UploadFile', form, { headers: form.getHeaders(), params: { convertAudio: 1, path: ivr2:2/55/', autoNumbering: true } });
-
@צדיק-תמים
הסתבכתי בקטע של צירוף הקובץ, זה הקוד שעשיתי:function performYemotUp(user,pass,path,file) { const fileName = file; const url = 'https://www.call2all.co.il/ym/api/UploadFile'; let fileBuffer = ''; if (fileName) { const fileContent = fs.readFileSync(fileName); fileBuffer = Buffer.from(fileContent); } const formData = new FormData(); if (fileName){ formData.append('file', fileBuffer, { filename: fileName }); } axios.post( url, {}, { headers: { 'Content-Type': `multipart/form-data; boundary=${formData._boundary}`, }, params: { convertAudio: 1, path: 'ivr2:2/55/', autoNumbering: true } } ) .then(response => { return response.data; console.log(response.data) }) .catch(error => { return fail(error); }); }
-
@פיסטוק-פרווה יש לך כאן קוד טוב שמעלה גם קבצים גדולים
https://tchumim.com/post/159377 -
אם כבר כתבתי...
import axios from 'axios'; import fs from 'fs'; import FormData from 'form-data'; axios.defaults.baseURL = 'https://www.call2all.co.il/ym/api/'; async function uploadFile (user, pass, path, filePath) { if (!fs.existsSync(filePath)) throw new Error(`file ${filePath} not exists`); const form = new FormData(); form.append('file', fs.createReadStream(filePath)); try { const { data } = await axios.post('UploadFile', form, { headers: form.getHeaders(), params: { token: `${user}:${pass}`, convertAudio: 1, path, autoNumbering: true } }); console.log(data); } catch (error) { // ... } }
-
@צדיק-תמים
תודה רבה!