Как исправить ошибку 404 при открытии файла txt в вк, который отправлен через vk-io?

Ссылка скопирована
1 ответ

У меня есть код который генерирует файл txt и отправляет его через vk.upload.messageDocument:

bot.hear(/^[!/.](?:genf)/i, async (message) => { let text = "test: test" var fs = require('fs'); fs.writeFileSync('tempfiles/temp.txt', text, (err) => { 	if (err) throw err; }); let fileNaming = "chat_" + message.chatId + ".txt" await vk.upload.messageDocument({ 	peer_id: message.peerId, 	source: { 		value: "C:\ПОЛНЫЙ ПУТЬ ДО ПАПКИ\tempfiles\temp.txt", 		filename: fileNaming, 		contentType: "text/plane" 	} }).then(response => { 	console.log(response) 	message.send("123", {attachment: response}) }) });

bot.hear(/^[!/.](?:genf)/i, async (message) => { let text = "test: test" var fs = require('fs'); fs.writeFileSync('tempfiles/temp.txt', text, (err) => { if (err) throw err; }); let fileNaming = "chat_" + message.chatId + ".txt" await vk.upload.messageDocument({ peer_id: message.peerId, source: { value: "C:\ПОЛНЫЙ ПУТЬ ДО ПАПКИ\tempfiles\temp.txt", filename: fileNaming, contentType: "text/plane" } }).then(response => { console.log(response) message.send("123", {attachment: response}) }) });

При переходе по документы выходит ошибка Page not found тобежь 404

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Алексей Денисов Ответ

Для исправления ошибки 404 при открытии файла txt в VK, который отправлен через библиотеку vk-io, вам необходимо убедиться, что вы правильно обращаетесь к файлу и используете корректные методы для его загрузки и открытия.

Во-первых, убедитесь, что вы указываете правильный путь к файлу txt в сообщении или прикрепляете файл правильным образом при отправке сообщения через vk-io. Проверьте, что путь к файлу указан верно и файл существует на сервере VK.

Во-вторых, убедитесь, что вы используете методы библиотеки vk-io для загрузки и открытия файла txt. Для загрузки файла можно использовать метод messages.getHistoryAttachments, который позволяет получить информацию о вложениях в сообщениях. После получения информации о вложении, вы можете получить ссылку на файл и открыть его с помощью метода file.getFileUrl.

Приведу пример кода на языке PHP с использованием тега

 для загрузки и открытия файла txt через vk-io:
 
<pre lang="php">
// Получаем информацию о вложении
$attachmentInfo = $vk-&gt;messages()-&gt;getHistoryAttachments([
    'peer_id' =&gt; $peerId,
    'media_type' =&gt; 'doc',
    'start_from' =&gt; $startFrom,
    'count' =&gt; 1
]);
 
// Получаем ссылку на файл
$fileUrl = $vk-&gt;request('docs.getMessagesUploadServer', [
    'peer_id' =&gt; $peerId,
    'type' =&gt; 'doc'
])['upload_url'];
 
// Открываем файл по полученной ссылке
$fileContents = file_get_contents($fileUrl);
 
// Обрабатываем содержимое файла
echo $fileContents;

для загрузки и открытия файла txt через vk-io: <pre lang="php"> // Получаем информацию о вложении $attachmentInfo = $vk-&gt;messages()-&gt;getHistoryAttachments([ 'peer_id' =&gt; $peerId, 'media_type' =&gt; 'doc', 'start_from' =&gt; $startFrom, 'count' =&gt; 1 ]); // Получаем ссылку на файл $fileUrl = $vk-&gt;request('docs.getMessagesUploadServer', [ 'peer_id' =&gt; $peerId, 'type' =&gt; 'doc' ])['upload_url']; // Открываем файл по полученной ссылке $fileContents = file_get_contents($fileUrl); // Обрабатываем содержимое файла echo $fileContents;

Помните, что для работы с файлами через VK и библиотеку vk-io необходимо иметь правильные настройки доступа к API VK и использовать корректные методы для работы с файлами. Проверьте документацию по библиотеке vk-io и API VK для более подробной информации о работе с файлами и вложениями.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно