Итак, я задал вопрос ранее и получил небольшую помощь до logging
результатов, однако мои результаты не имеют смысла.
Итак, у меня есть ввод
<input type="file" name="import_file" v-on:change="selectedFile($event)">
v-on:change
связывает выбранный файл с моим объектом данных this.file
selectedFile(event) {
this.file = event.target.files[0]
},
и затем я отправляю файлс помощью этого метода
uploadTodos() {
let formData = new FormData();
formData.append('file', this.file);
for(var pair of formData.entries()) {
console.log(pair[0]+ ', '+ pair[1]);
}
this.$store.dispatch('uploadTodos', formData);
}
Однако, когда я отправляю, кажется, что нет никаких данных, прикрепленных к formData
, потому что мой logged
результат - это
file, [object File]
, не должен ли я иметьфактические данные, добавленные к объекту formData
??
Я ссылался на другие статьи о том, как размещать сообщения, но я не получаю желаемых результатов.
статья 1 article2
uploadTodos(context, file) {
console.log(file)
axios.post('/import', file,{ headers: {
'Content-Type': 'multipart/form-data'
}})
.then(response => {
console.log(response.data)
context.commit('importTodos', response.data)
})
.catch(error => {
console.log(error.response.data)
})
}
когда я console.log(file)
formData
объект пуст
Backend Question Итак, моя проблема с Laravel на бэкэндес пакетом maatwebsite
.Из того, что я видел, версия 3.0 пока не поддерживает импорт.И единственное предложенное решение - это установить версию 2.0?Это все еще единственный обходной путь?Вот метод контроллера
public function importExcel(Request $request)
{
if (empty($request->file('file')->getRealPath())) {
return back()->with('success','No file selected');
}
else {
$path = $request->file('file')->getRealPath();
$inserts = [];
Excel::load($path,function($reader) use (&$inserts)
{
foreach ($reader->toArray() as $rows){
foreach($rows as $row){
$inserts[] = ['user_id' => $row['user_id'], 'todo' => $row['todo']];
};
}
});
if (!empty($inserts)) {
DB::table('todos')->insert($inserts);
return back()->with('success','Inserted Record successfully');
}
return back();
}
}
Строка, не поддерживаемая версией 3.0, это
Excel::load($path,function($reader) use (&$inserts)