Я пытаюсь отправить видео в форматах, используя ReactJS. Когда я отправляюсь, получение Videourl в ответ как NULLJavascript

Форум по Javascript
Ответить
Anonymous
 Я пытаюсь отправить видео в форматах, используя ReactJS. Когда я отправляюсь, получение Videourl в ответ как NULL

Сообщение Anonymous »

Я работаю над голосованием. Когда я создаю голосование и отправляю видео с FormData, используя ReactJS, он успешно отправляется, но в ответ Videourl является нулевым. Теперь, когда я нажимаю на редактирование одного и того же голосования, называется GetVoteByid API, и в ответ я вижу, как присутствует Videourl, а также предварительно пропалывает видео, которое доказывает, что Vyse Video сохраняется. Но главная проблема начинается здесь, когда я обновляю голосование, оно успешно сохраняется, но опять же, Videourl является нулевым, и в настоящее время, когда я нажимаю на редактирование, в настоящее время мой Videourl пуст, а предварительный просмотр также не показывает. FormData.Isactive) => {
if (e) e.preventDefault (); < /p>

Код: Выделить всё

// Validate required fields
if (!formData.title.trim()) {
toast.error("Title is required");
return;
}

if (!formData.description.trim()) {
toast.error("Description is required");
return;
}

if (!questionType.trim()) {
toast.error("Option type is required");
return;
}
if (!priority) {
toast.error("Set Priority is required");
return;
}

const userId = Cookies.get("userId");
const token = Cookies.get("token");

if (!userId || !token) {
toast.error("Missing credentials");
return;
}

const dataToSubmit = new FormData();
dataToSubmit.append("UserId", userId);
dataToSubmit.append("Title", formData.title);
dataToSubmit.append("Description", formData.description);
dataToSubmit.append("OptionType", questionType);
// dataToSubmit.append("isActive", formData.isActive);
dataToSubmit.append("isActive", activeStatus);
dataToSubmit.append("Priority", formData.priority);

let optionsArray = [];
if (questionType === "custom options") {
optionsArray = mcqOptions.filter((opt) => opt.trim() !== "");
} else if (questionType === "Yes/No") {
optionsArray = ["Yes", "No", "I don't know"];
} else if (questionType === "True/False") {
optionsArray = ["True", "False", "I don't know"];
}

optionsArray.forEach((opt) => dataToSubmit.append("Options", opt));

if (formData.image) {
dataToSubmit.append("Images", formData.image);
}

if (formData.video) {
dataToSubmit.append("video", formData.video);
} else if (videoUrl) {
dataToSubmit.append("videoUrl", videoUrl);
}

let imageUrlsToSend = imageUrl;

// Handle potential double-stringification or dirty strings
if (typeof imageUrlsToSend === "string") {
try {
// Attempt to parse stringified array
const parsed = JSON.parse(imageUrlsToSend);
if (Array.isArray(parsed)) {
imageUrlsToSend = parsed;
} else {
imageUrlsToSend = [parsed];
}
} catch (e) {
// Fallback: extract URL from string using regex
const urlMatch = imageUrlsToSend.match(/https?:\/\/[^\s"]+/g);
imageUrlsToSend = urlMatch ? urlMatch : [imageUrlsToSend];
}
} else if (!Array.isArray(imageUrlsToSend)) {
imageUrlsToSend = [imageUrlsToSend];
}

if (voteId) dataToSubmit.append("VoteId", voteId);

try {
const response = await axios({
method: voteId ? "put" : "post",
url: voteId
? `${VOTE_URL}/Votes/update-vote`
: `${VOTE_URL}/Votes/create-vote`,
data: dataToSubmit,
headers: {
"Content-Type": "multipart/form-data",
Authorization: `Bearer ${token}`,
},
});

console.log("Response after vote is created: ", response.data);

toast.success(
voteId
? "Vote updated successfully!"
: "Congrats! Your Vote is created successfully!"
);

setQuestionType("");
setMcqOptions([]);
setImageUrl("");
setVideoUrl("");
setIsActive(isActive);
setPriority(null);
setFormData({
title: "",
description: "",
image: null,
video: null,
questionType: "",
yesNoOrTrueFalse: null,
mcqOptions: [],
priority: null,
});
} catch (error) {
console.error("Submit error:", error.response?.data || error.message);
toast.error("Something went wrong!");
}
};

Подробнее здесь: https://stackoverflow.com/questions/796 ... it-getting
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»