С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
ai-zer
19 / 34 / 11
Регистрация: 09.10.2010
Сообщений: 418
Завершенные тесты: 1
1

Сохранение файла на сервере

26.12.2011, 17:13. Просмотров 4782. Ответов 8

В общем, он выводит путь, нажимаю на ссылку и всё равно не скачивается ничего, и даже не открывается. Нужно чтобы браузер предложил сохранить куда-нить файл и скачал его.

C#
1
2
3
4
5
6
7
if (FileUpload1.HasFile)
            {
                string fileName = FileUpload1.FileName;
                savePath += fileName;
                FileUpload1.SaveAs(savePath);
                HyperLink1.NavigateUrl = savePath;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2011, 17:13
Ответы с готовыми решениями:

Сохранение данных с формы в файл на сервере
Люди добрые помогите! Подскажите как из текстового поля <input...

Аутентификация Form ASP.NET. Сохранение User на сервере
Добрый день! Сделал Form аутентификацию ASP.NET-приложения во внутренней сети....

не могу узнать размер файла на сервере
подскажите как узнать размер файла на сервере FTP если я использую библиотеку...

Cоздание файла на сервере,указывая урл.
Помогите с казалось бы простой проблемой,не успеваю разобраться,сорки...

Определить размер файла на сервере по имеющейся ссылке
Здравствуйте форумчане Суть задачи - определить размер файла на сервере по...

8
sau
1996 / 1613 / 265
Регистрация: 22.07.2011
Сообщений: 6,091
Завершенные тесты: 1
26.12.2011, 18:16 2
HyperLink1.NavigateUrl = savePath;
- ссылка на физический путь. а нужно на виртуальный
http://myserver/files/filename.ext
0
ai-zer
19 / 34 / 11
Регистрация: 09.10.2010
Сообщений: 418
Завершенные тесты: 1
26.12.2011, 18:54  [ТС] 3
sau, не подскажете кодом, как сделать это?
0
sau
1996 / 1613 / 265
Регистрация: 22.07.2011
Сообщений: 6,091
Завершенные тесты: 1
26.12.2011, 19:14 4
C#
1
HyperLink1.NavigateUrl = "~/папкаСфайлами/имяфайла"
Ну это как бы очень простой пример, а в общем случае там все сложнее.
1
ai-zer
19 / 34 / 11
Регистрация: 09.10.2010
Сообщений: 418
Завершенные тесты: 1
26.12.2011, 19:52  [ТС] 5
sau, Конфигурация метода SaveAs требует использования корневого пути, а путь '~\guest.log' не является корневым.
как тогда сделать выгрузку?
простите, я уже 3 дня с этим вожусь, надоело самому...
0
sau
1996 / 1613 / 265
Регистрация: 22.07.2011
Сообщений: 6,091
Завершенные тесты: 1
26.12.2011, 20:04 6
savePath - может указывать на папку с файлами на сервере.
ну как пример:
C#
1
var savePath = Server.MapPath("~/files/") + FileUpload1.FileName;
а у веб-контрола формируем ссылку такого вида:
C#
1
HyperLink1.NavigateUrl = "~/files/"+FileUpload1.FileName;
в результате получим следующее:
HTML5
1
<a href="files/filename.txt"/>
1
ai-zer
19 / 34 / 11
Регистрация: 09.10.2010
Сообщений: 418
Завершенные тесты: 1
26.12.2011, 23:45  [ТС] 7
блин, не знаю, всё равно не выдает окно для скачки=(
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
      string Date = DateTime.UtcNow.ToString();
        int[] counter = new int[10];
        protected void Page_Load(object sender, EventArgs e)
        {
            DisplayFiles(BulletedList1);
        }
 
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (FileUpload1.HasFile)
            { 
                var savePath = Server.MapPath("~/f/");
                FileStream Fs = new FileStream(savePath+"files.log", FileMode.Append, FileAccess.Write);
                string fileName = FileUpload1.FileName;
                savePath += fileName;
                FileUpload1.SaveAs(savePath);
                
                StreamWriter Wr = new StreamWriter(Fs);
                Wr.WriteLine(counter[0] + " " + Date + " " + fileName);
                Wr.Close();
                UploadStatusLabel.Text = "Ваш файл сохранён как " + fileName;
            }
            else
            {
                UploadStatusLabel.Text = "Вы не загрузили файл.";
            }
            
        }
 
        public void DisplayFiles(BulletedList BulletList1)
        {
             var savePath = Server.MapPath("~/f/");
            BulletedList1.Items.Clear();
            StreamReader Re = new StreamReader(savePath+"files.log");
            do
            {
                string text = Re.ReadToEnd();
                String[] Spl = text.Split();
                BulletedList1.Items.Add(Spl[0] + " " + Spl[1] + " " + Spl[2] + " " + Spl[3]);
                BulletedList1.ResolveUrl(Spl[3]);
                HyperLink1.NavigateUrl =  savePath + Spl[3];
            } while (!Re.EndOfStream);
            Re.Close();
        }
    }
0
sau
1996 / 1613 / 265
Регистрация: 22.07.2011
Сообщений: 6,091
Завершенные тесты: 1
27.12.2011, 00:11 8
ai-zer, жесть
0
Hrenochel
6 / 6 / 0
Регистрация: 02.04.2012
Сообщений: 21
04.05.2012, 09:29 9
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
namespace ForM.info
{
    public partial class informat : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
 
        }
 
        protected void Button1_Click(object sender, EventArgs e)
        {
 
             if (FileUpload1.HasFile)
             {
                 string fileName = FileUpload1.FileName;
                
                 FileUpload1.SaveAs(Server.MapPath(@"~\img\")+fileName);
                 TextBox1.Text = "Сохранено";
 
             }
        }
    }
}
у меня так работает

Добавлено через 3 минуты
только создай папку img в корневом своем каталоге а то будет ругаться на то что путь не полный
0
04.05.2012, 09:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2012, 09:29

Как на C# из web project узнать размер и дату файла на сервере?
Товарищи вопрос такой: как на C# из web project узнать размер и дату файла на...

Сформировать файла на основе данных SP на SQL сервере и передать юзеру
У меня есть хранимая процедура на сервере, которая возвращает набор записей...

Как проверить произошли изминение файла на сервере или нет?
Здравствуйте! Столкнулся с проблемой: как при помоще asp.net проверить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru