Mahesh2223 Ответов: 1

Как загрузить файлы из корзины amazon s3 с помощью javascript?.


var params = {
Ведро: "Класс",

};

С3.listObjects(параметры, функция (ошибаться, сведения) {

если консоль (ошибаться).журнал(ошибаться);
ещё {
ВАР, базирующихся = сведения.Содержание.фильтр (функция (файл) {
return (file. Key.indexOf ('. txt') > 0);
});

console. log(текстовые файлы);
}
Это дает мне список объектов из корзины Amazon s3.
Возвращаемое здесь значение-это массив, который я не могу загрузить из amazon..



как я могу выполнить свое требование?? идеи помощи будут оценены по достоинству..

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

мой HTML-таблицы, чтобы добавить данные из JSON-объект
//var tr;
//for (var i = 0; I & lt; Files.длина; i++) {
// tr = $(");
// tr. append("" + Files[i]. name+ "");
// тр.добавить("" + файлы[я].дата+ "");
// tr. append("" + Files[i].Размер + "");
// tr. append("" + "");.. //здесь скачать
//
//}

Karthik_Mahalingam

почему Аякс? попробуйте получить данные непосредственно из кода и привязать их к gridview/

Mahesh2223

Но получить данные с помощью функции очень просто, поэтому с помощью ajax эти данные нужно использовать в коде позади..любой другой простой способ сделать это

Mahesh2223

можете ли вы сказать мне, как получить его с помощью c# ??
- пожалуйста.?

Karthik_Mahalingam

покажите код, как вы получаете данные от amazon

Mahesh2223

var params = {
Ведро: "Класс",

};

С3.listObjects(параметры, функция (ошибаться, сведения) {

если консоль (ошибаться).журнал(ошибаться);
ещё {
ВАР, базирующихся = сведения.Содержание.фильтр (функция (файл) {
return (file. Key.indexOf ('. txt') > 0);
});

console. log(текстовые файлы);
}

это возвращает мне данные

Karthik_Mahalingam

передайте данные текстовых файлов на сервер в виде JSON-строки и привязать данные к GridView в

Mahesh2223

ВАР тр;
for (var i = 0; i & lt; textFiles.длина; i++) {
tr = $(");
тр.добавить("" + текстовые файлы[я].имя пользователя + "");
тр.добавить("" + текстовые файлы[я].результат + "");
тр.добавить("" + текстовые файлы[я].команда + "");
$('таблица').добавить(тр);

таким образом, я привязываюсь к таблице, требование-к gridview. но данные, которые я не могу получить в codebehind

Karthik_Mahalingam

привязка его к таблице-это более простой и легкий способ, в конечном счете gridview будет отображаться как таблица в браузере.

Mahesh2223

хорошо, у меня есть еще одно сомнение, как я могу загружать файлы на основе url-адреса из корзины amazon s3.. таблица имеет 30 строк, каждая строка имеет файл, dat нужно загрузить на основе имени файла, ex 1-я строка имеет virat.txt / оценка: 100 / ind,
2-й ряд имеет sehwag.txt оценка: 90 / ind, эти файлы сохраняются в amazon s3 в ведре под названием grade, а имя ключа уникально, как virat.txt для 1-го ряда и для 2-го sehwag.txt для 2-й строки, если я дам url-адрес типа https://grade.s3.amazon.com/virat.txt непосредственно в браузере его загрузка теперь нужна для уникальных имен файлов

Karthik_Mahalingam

сделайте якорный тег и добавьте к нему атрибут загрузки, а также добавьте url-адрес для href
или окно.расположение fileurl=''

Mahesh2223

можем ли мы добавить якорный тег к таблице..это моя таблица
ВАР тр;
for (var i = 0; i & lt; textFiles.длина; i++) {
tr = $(");
тр.добавить("" + текстовые файлы[я].имя пользователя + "");
тр.добавить("" + текстовые файлы[я].результат + "");
тр.добавить("" + текстовые файлы[я].команда + "");
$('таблица').добавить(тр);
как это сделать здесь

Karthik_Mahalingam

приведенный выше код не создаст таблицу.
какое свойство имеет url-адрес

Mahesh2223

таблицы нет, нам нужно добавить ее , я добавил Как
tr. append (" " + "" ); и в моей таблице я дал заголовок загрузки

Karthik_Mahalingam

так в чем же теперь проблема?

Mahesh2223

url-адрес почти одинаков для всех файлов, кроме этого User_Name.txt . пример;
для каждой строки это будет похоже на=> https://Grade.sw.amazon.com/username.txt это url-адрес, который нужно передать, предположим, для 1-й строки https://Grade.sw.amazon.com/virat.txt
для 2-го https://Grade.sw.amazon.com/sehwag.txt

Karthik_Mahalingam

вам придется добавить ".txt " к имени файла?

Mahesh2223

не могли бы вы дать какой-нибудь пример кода, основанный на этом url-адресе и имени файла, которое я дал, и когда пользователь нажимает на якорный тег, он должен получить этот url-адрес с помощью filename.txt,

Karthik_Mahalingam

обратитесь к решению

Mahesh2223

хорошо я попробую и позвоню тебе

Karthik_Mahalingam

ладно

Mahesh2223

хии братан

Mahesh2223

Нужна помощь плз

Karthik_Mahalingam

Привет

Mahesh2223

https://www.codeproject.com/Questions/1196634/Cascading-drop-down-problem-in-gridview-edit-modal

Mahesh2223

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

Mahesh2223

это создание таблицы, проблема в том, что мне нужно загрузить файлы на основе строки

1 Ответов

Рейтинг:
10

Karthik_Mahalingam

попробуй вот так

<!DOCTYPE html>
<html ng-app="" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script src="Scripts/jquery-1.8.2.js"></script>
    <script>
        function openfile(obj) {
            window.open = obj.innerText;

        }

        $(function () {

            var items = [{ User_Name: 'aa', Score: 23, team: 'aa team' },
           { User_Name: 'bb', Score: 33, team: 'bb team' },
       { User_Name: 'cc', Score: 43, team: 'cc team' }];

            var url = 'https://grade.s3.amazon.com/';
            var rows = [];
            for (var i = 0; i < items.length; i++) {
                var item = items[i];
                var cols = [];
                cols.push('<td>' + item.User_Name + '</td>')
                cols.push('<td>' + item.Score + '</td>')
                cols.push('<td>' + item.team + '</td>')
                cols.push('<td> <a href="#" onclick="openfile(this)" > ' + item.User_Name + '.txt  </a> </td>')
                rows.push('<tr>'+cols.join('')+'</tr>');
            }
            $('#tbl tbody').append(rows.join(''));

        }) 

    </script>


</head>
<body>
    <table id="tbl" border="1" cellpadding="0" cellspacing="0">
        <thead>
            <tr>
                <th>User Name</th>
                <th>Score</th>
                <th>Team </th>
                <th>Download</th>
            </tr>
        </thead>
        <tbody></tbody>
    </table>

</body>
</html>


Редактировать: для загрузки файлов на Amazon S3 ведро :
var url = s3.getSignedUrl('getObject',params);


Mahesh2223

братан небольшая проблема с этим я получаю url-адрес страницы моей страницы aspx, я не могу перенаправить на amazon, я сохранил окно оповещения и проверил.

Karthik_Mahalingam

непонятный

Karthik_Mahalingam

функция openfile(obj) {
ВАР с URL = 'https://grade.s3.amazon.com/' + obj-файлы.через свойство innerText;
окна.открыть = URL-адрес;

alert (url) / / дает мне url страницы aspx.
}

Mahesh2223

не работает бро, может быть из-за окна.открыть его takng же aspx-страницу, URL-адрес

Karthik_Mahalingam

что такое значение в url?

Mahesh2223

url-адрес теперь правильный, но файл не загружается по ссылке

Karthik_Mahalingam

проконсультируйтесь с amazon

Mahesh2223

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

Karthik_Mahalingam

ладно

Mahesh2223

https://grade.s3.amazonaws.com/ он показывает этот url-адрес, делая это

cols.push(' '+Файлы[i].Ключ + ' '), если мы добавим имя файла, я сделаю любую идею plz

Karthik_Mahalingam

показать скриншот

Mahesh2223

Спасибо за УР справка бро я это сделал, ВАР параметр params = { ведра: 'класс', раздел: "+ obj-файлы.через свойство innerText };
ВАР URL-адрес = С3.getSignedUrl('функция getobject',параметры);
это дает файл загрузки

отредактируйте соль и добавьте этого братана, которого я пометил как ответ..

Karthik_Mahalingam

есть тонны готовых функций для преобразования байтов в Мб/ГБ/ТБ и т. д
просто немного Гугла поможет

Karthik_Mahalingam

покажите, как вы это сделали. позвольте мне исправить это

Mahesh2223

функция bytesToSize(байты) {
var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
if (bytes == 0) return 'n/a';
ВАР я = parseInt(математика.пол(мат.журнала(в байтах) / математика.журнал(1024)));
if (i == 0) возвращает байты + '' + размеры[i];
return (bytes / Math.pow(1024, i)).toFixed(1) + '' + Размеры[i];
};

эта функция, которую я использую на теге тела html при загрузке, которую я использую

Karthik_Mahalingam

просто вызовите эту функцию

Karthik_Mahalingam

                cols.push('<td>' + bytesToSize( item.Size) + '</td>')

Karthik_Mahalingam

это нормально, однако вопрос и содержание не совпадают, так что никаких проблем.

иди и Смотри ipl

Karthik_Mahalingam

проверьте это и измените
https://www.w3schools.com/jsref/met_win_open.asp