Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Передать input type="file" в другой метод.
|
|||
|---|---|---|---|
|
#18+
Добрый день! Пытаюсь открыть excle файл. Стандартно делается так (примерами весь инет заполнен): Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Мне надо открыть его в модальном окне и потом по желанию пользователя просто передать в другой метод для расчетов, пытаюсь так: Код: c# 1. 2. 3. Основной вопрос такой: Как передать значение input type="file" в переменную HttpPostedFileBase без использования Html.BeginForm. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2017, 12:02 |
|
||
|
Передать input type="file" в другой метод.
|
|||
|---|---|---|---|
|
#18+
не совсем понимаю, что значит открыть в модальном окне. про передать не получиться нужна форма и multipart/form-data у формы. то что ты хочешь можно сделать если файл представить как строчку base64, если конечно я понял твой вопрос правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 13:47 |
|
||
|
Передать input type="file" в другой метод.
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuне совсем понимаю, что значит открыть в модальном окне. про передать не получиться нужна форма и multipart/form-data у формы. то что ты хочешь можно сделать если файл представить как строчку base64, если конечно я понял твой вопрос правильно Попробую объяснить. Пользователям необходима возможность загрузки многомерных данных на время расчета. После расчета данные не нужны. Ну я так предполагаю, что у них должна быть возможность открыть Excel файл в браузере. Потом пустить эти данные в расчет, соответственно передать данные в другой метод контроллера. Для решения проблемы пытаюсь использовать следующий вариант: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. Ключевые моменты такие: 1) Вместо передачи переменной HttpPostedFileBase я закидываю результат в сессию Session["ExcelResult"] = result.Tables[0]; Далее все манипуляции данными ведутся через Session["ExcelResult"]. Так я думаю решил проблему отображения данных на экране и ввода в другой метод для расчетов. 2) Далее делаю редирект на ту страницу где вызываю этот метод 3) Отображаю информацию на экране для пользователя <input type="text" placeholder="Нет массива данных" value="@(Session["arrayInfo2"] as string)" disabled> Единственный и самый большой минус этого метода то, что происходит обновление всей страницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 14:06 |
|
||
|
Передать input type="file" в другой метод.
|
|||
|---|---|---|---|
|
#18+
Следующий шагом пытаюсь все это запустить через Ajax: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Соответственно надо <input type="button" value="Upload file" P.S.: Ошибся в первом сообщении и в первом методе надо убрать HttpPostedFileBase upload и раскоментарить строчку которая находиться ниже // HttpPostedFileBase upload = Request.Files["fileInput"]; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 14:12 |
|
||
|
Передать input type="file" в другой метод.
|
|||
|---|---|---|---|
|
#18+
да ты вроде ничего не показываешь кроме кол-ва строк в экселе. ну не суть. я ж говорю передавай как base64 строку через экшен( преобразуешь файл в массив байтов превращаешься в base64 строку, передаешь, а потом назад преобразование строки в байты сделаешь и что хочешь дальше делай)...или либ сохраняй в папку на диск и выдавай имя уникальное и его уже передавай на другую форму чтоб подцепить потом файл. уже 2 варианта п.с. сессия вот для твоего случая не очень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2017, 19:04 |
|
||
|
Передать input type="file" в другой метод.
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuда ты вроде ничего не показываешь кроме кол-ва строк в экселе. ну не суть. я ж говорю передавай как base64 строку через экшен( преобразуешь файл в массив байтов превращаешься в base64 строку, передаешь, а потом назад преобразование строки в байты сделаешь и что хочешь дальше делай)...или либ сохраняй в папку на диск и выдавай имя уникальное и его уже передавай на другую форму чтоб подцепить потом файл. уже 2 варианта п.с. сессия вот для твоего случая не очень. Можете привести полноценный пример? В инете на эту тему что-то совсем скудно написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2017, 12:04 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=39494585&tid=1355480]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 268ms |
| total: | 359ms |

| 0 / 0 |
