Jaydeep Shah Ответов: 1

Загрузка файла получить путь к файлу


Я пытаюсь получить полный локальный путь.

но я не могу получить путь к выбранному файлу.

путь к файлу получает поддельный путь.

Что я уже пробовал:

 $('#uploadmultifile').click(function (e) {
       debugger;
       e.preventDefault();
       var fileUpload = document.getElementById("files");
       var filepath = fileUpload.value;
       var form = new FormData($('#fileupload')[0]);
       for (var i = 0; i < fileUpload.files.length; i++) {
           form.append('file', fileUpload.files[i]);
       }
       form.append('filepath', filepath);
       $.ajax({
           url: '/UplaodFile/uploadPgrs',
           type: 'POST',
           success: function (data) {
               alert("Data Uploaded: " + data);
           },
           data:form,
           cache: false,
           contentType: false,
           processData: false
       });
       return false;
});

1 Ответов

Рейтинг:
1

F-ES Sitecore

Вы не можете получить полный путь по соображениям безопасности. Чтобы упредить ваш следующий вопрос, нет, нет никакого способа обойти это.


Jaydeep Shah

Я пытаюсь загрузить файл в amazon s3.
в этом API требуется путь к файлу (filepath)
т.е..
fileTransferUtility.Загрузить(путь к файлу, existingBucketName);

https://docs.aws.amazon.com/AmazonS3/latest/dev/HLuploadFileDotNet.html

без пути к файлу он не работает.

F-ES Sitecore

Это предполагает, что код выполняется на той же машине, на которой существует файл. В сценарии веб-сайта это не так, файл находится на клиентском компьютере, а код выполняется на сервере. Если вы хотите разрешить кому-то загружать файл в AWS через ваш сайт, а затем попросить его загрузить файл с помощью компонента загрузки, вам нужно будет сохранить этот файл на веб-сайте, а затем использовать сервер.MapPath, чтобы получить расположение этого файла на вашем веб-сервере, и теперь вы можете использовать код в этой ссылке для загрузки с вашего веб-сервера в AWS.

Jaydeep Shah

в этой ситуации и произошло то, что произошло.
если загрузка файла размером 1 Гб занимает 25 минут.

сначала я сохраняю данные на сервере, а затем на Amazon, так что это займет вдвое больше времени.

Richard Deeming

Затем вам нужно загрузить файл из браузера непосредственно на Amazon, а не пытаться сначала загрузить его на свой сервер:
Загрузка фотографий в Amazon S3 из браузера - AWS SDK для JavaScript[^]