powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Публикация. Исключить файл, чтобы содержимое оставалось без изменений.
7 сообщений из 7, страница 1 из 1
Публикация. Исключить файл, чтобы содержимое оставалось без изменений.
    #39745837
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, коллеги!

В проекте создал папку Files, чтобы пользователи грузили свои файлы, фото при работе.
Оказывается ASP.NET во время публикации удаляет эту папку вместе со всем содержимым, что не приемлемо для нашего случая.
Нет ли возможности исключить эту папку из списка подменяемых при публикации?
Если нет, то придется создать отдельный каталог в корне диска.
Спасибо!
...
Рейтинг: 0 / 0
Публикация. Исключить файл, чтобы содержимое оставалось без изменений.
    #39745874
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadipok,
Со многих сторон удобнее либо в базе, либо папка вне веб сервера для фотоальбома.
...
Рейтинг: 0 / 0
Публикация. Исключить файл, чтобы содержимое оставалось без изменений.
    #39745895
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadipokЕсли нет, то придется создать отдельный каталог в корне диска.

Отдельный каталог.
...
Рейтинг: 0 / 0
Публикация. Исключить файл, чтобы содержимое оставалось без изменений.
    #39746444
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadipokДобрый день, коллеги!

В проекте создал папку Files, чтобы пользователи грузили свои файлы, фото при работе.
Не безопасно это.

Какие и сколько файлов разрешено грузить?
...
Рейтинг: 0 / 0
Публикация. Исключить файл, чтобы содержимое оставалось без изменений.
    #39746482
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухvadipokДобрый день, коллеги!

В проекте создал папку Files, чтобы пользователи грузили свои файлы, фото при работе.
Не безопасно это.

Какие и сколько файлов разрешено грузить?

Файлов много, но я думаю допишу, чтобы секретку не отправляли и в случаи утечки сами будут нести ответственность.
Спасибо, буду копать в сторону сторонней папки.
...
Рейтинг: 0 / 0
Публикация. Исключить файл, чтобы содержимое оставалось без изменений.
    #39746483
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadipok,

дело не в секретке, а в уязвимостях...
...
Рейтинг: 0 / 0
Публикация. Исключить файл, чтобы содержимое оставалось без изменений.
    #39750595
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Победил, спасибо всем.
Может кому еще надо будет:
1) Создаем папку File на сервере
2) Web.config:
Код: xml
1.
2.
3.
4.
  <appSettings>
    ...............................................................
    <add key="myFolderPath" value="C:\Files"/>
  </appSettings>


3) Загрузка картинок:

а)
Код: 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.
        public JsonResult UploadPhoto()
        {
            string userName = User.Identity.Name.ToString();
            EmployeesMVC emplMVC = new EmployeesMVC() { UserName = userName };
            Int32 tableID = emplMVC.getTableID();

            for (int i = 0; i < Request.Files.Count; i++)
            {
                var file = Request.Files[i];

                DateTime d = DateTime.Now;
                string fileExtension = System.IO.Path.GetExtension(file.FileName);
                string newFileName = tableID.ToString() + fileExtension;

                double fileSize = file.ContentLength / 1024;
                if (fileSize > 2048)
                {
                    return Json(0);
                }

                string path = System.Configuration.ConfigurationManager.AppSettings["myFolderPath"];
                string filePath = System.IO.Path.Combine(path, newFileName);
                if (System.IO.File.Exists(filePath))
                {
                    System.IO.File.Delete(filePath);
                }
                file.SaveAs(filePath);
            }

            return Json(1);
        }


б)
Код: javascript
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.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
$("#Upload").click(function () {
    setSessionVariable('Guid', $('#Guid').val());

    var formData = new FormData();
    var totalFiles = document.getElementById("FileUpload").files.length;
    for (var i = 0; i < totalFiles; i++) {
        var file = document.getElementById("FileUpload").files[i];

        formData.append("FileUpload", file);
    }

    var myUrl27 = $("#paramUrl27").val();

    $.ajax({
        type: "POST",
        url: myUrl27,
        data: formData,
        dataType: 'json',
        contentType: false,
        processData: false,
        success: function (response) {
            clearLoad();
            $('#form0').submit();
        },
        error: function (error) {
            alert("Файл занимает больше 20 мегабайт");
        }
    });

    //ajaxFlag = 0;
    //}

});

$(document).on('change', ':file', function () {
    var input = $(this),
        numFiles = input.get(0).files ? input.get(0).files.length : 1,
        label = input.val().replace(/\\/g, '/').replace(/.*\//, '');
    input.trigger('fileselect', [numFiles, label]);
});

$(document).ready(function () {
    if ($("#file").val() == "") {
        $("#clearButton").hide();
        $("#btnFileOpen").show();
    } else {
        $("#clearButton").show();
        $("#btnFileOpen").hide();
    }

    $(':file').on('fileselect', function (event, numFiles, label) {
        $('#file').val(label);
        $("#Upload").show();
        $("#UploadPhoto").show();
        $("#clearButton").show();
        $("#btnFileOpen").hide();
    });
});

$('#clearButton').click(function () {
    clearLoad();
});

function clearLoad() {
    $('#file').val('');
    $("#Upload").hide();
    $("#UploadPhoto").hide();
    $("#btnFileOpen").show();
    $("#clearButton").hide();
}

$("#UploadPhoto").click(function () {
    var formData = new FormData();
    var totalFiles = document.getElementById("FileUpload").files.length;
    for (var i = 0; i < totalFiles; i++) {
        var file = document.getElementById("FileUpload").files[i];

        formData.append("FileUpload", file);
    }

    var myUrl28 = $("#paramUrl28").val();

    $.ajax({
        type: "POST",
        url: myUrl28,
        data: formData,
        dataType: 'json',
        contentType: false,
        processData: false,
        success: function (response) {
            clearLoad();
            location.reload(true);
        },
        error: function (error) {
            alert("Файл занимает больше 2 мегабайт");
        }
    });
});



с)
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
                    <div class="form-group has-success">
                        <label class="sr-only" for="File">Файл</label>
                        <div class="input-group">
                            <div class="input-group-addon">Файл</div>
                            <input class="form-control text-box single-line" id="file" name="file" placeholder="Выберите файл" type="text">
                        </div>
                    </div>
                    <label class="btn btn-primary btn-file" id="btnFileOpen">
                        <i class="fa fa-folder-open"></i>
                        <input type="file" id="FileUpload" accept="image/png" multiple />
                    </label>
                    <input class="btn btn-primary btn-file" type="button" id="UploadPhoto" value="Загрузить файл" style="display:none;" />
                    <a class="btn btn-primary" id="clearButton" title="Очистить" style="display:none;">
                        <i class="fa fa-trash-o"></i>
                    </a>





4)
Код: c#
1.
2.
3.
4.
5.
6.
        public ActionResult GetMyImage(string id)
        {
            string path = System.Configuration.ConfigurationManager.AppSettings["myFolderPath"];
            string filePath = System.IO.Path.Combine(path, id + ".png");
            return base.File(filePath, "image/png");
        }



5)
Код: html
1.
<img id="iconImage" hidden class="img-container2" src="@Url.Action("GetMyImage", "Home", new { id = "100500" })" />
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Публикация. Исключить файл, чтобы содержимое оставалось без изменений.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]