Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Публикация. Исключить файл, чтобы содержимое оставалось без изменений. / 7 сообщений из 7, страница 1 из 1
11.12.2018, 11:14
    #39745837
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Публикация. Исключить файл, чтобы содержимое оставалось без изменений.
Добрый день, коллеги!

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

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

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

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

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

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

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

дело не в секретке, а в уязвимостях...
...
Рейтинг: 0 / 0
20.12.2018, 09:07
    #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
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Публикация. Исключить файл, чтобы содержимое оставалось без изменений. / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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