gogi100 Goran Ljubic
Član broj: 40722 Poruke: 1064 *.dynamic.isp.telekom.rs.
|
Imame na sharepoint-u biblioteku koja cuva dokumenta. hocu da kreirali dugme za kopiranje fajlova iz jedne biblioteke u drugu. Za te svrhe sam u visual studio kreirao aspx application page na kojoj se nalazi treeview kontrola, preko koje biram lokaciju gde cu kopirati fajlove. Hocu da sa strane gde sam selektivno fajlove za kopiranje proslediti preko query stringa parametre tih fajlova koji ce mi omoguciti da na application page izvrsiti kopiranje tih fajlova na odabranoj lokaciji. Ko je paramparametre proslediti i kako? Ja sam pokušao preko query string da prosledim id dokumenta i uspelo mi je, ali ne znam koji parametar treba jos proslediti da bih uspeo da kapiram fajlove?
|
|
| |
|
S A J A Beograd
Član broj: 226539 Poruke: 1911 *.static.sbb.rs.
|
Da bi kopirao fajl treba ti 2 parametra, fajl i destinacija. Znači to treba da proslediš strani na kojoj se nalazi funkcija za kopiranje. File putanje ćeš malo teže da staviš u query string, probaj sa UrlEncode i UrlDecode.
|
|
| |
|
dusans Stojanov Dušan Pančevo
Član broj: 9551 Poruke: 1343 *.dynamic.sbb.rs.
|
Obrati pažnju da query string ima ograničenje dužine, obično nekoliko kilobajta.
Što znači da ako hoćeš preko query stringa, onda možeš samo 1 po 1 ili nekoliko po nekoliko fajlova.
Ako hoćeš sve fajlove odjednom, onda moraš da radiš POST podataka na tvoju stranicu.
|
|
| |
|
gogi100 Goran Ljubic
Član broj: 40722 Poruke: 1064 *.dynamic.isp.telekom.rs.
|
Na strani gde treba da mi bude funkcija za kopiranje, moja application page imam promenljivu gde sam joj dodelio putanju odredišta. Znači potrebno mi je samo prosledjivanje fajlova. meni je potrebno da pošaljem fajlove koje izaberem. Može li mi ko dati uputstvo kako se radi post podataka, ili kako koristiti urlencode? Ja sam uspeo preko query string da pošaljem id dokumenata, više njih istovremeno i id bibljoteke. Da li se ovi parametri mogu iskoristiti i kako ako mogu? Hvala
|
|
| |
|
dusans Stojanov Dušan Pančevo
Član broj: 9551 Poruke: 1343 *.dynamic.sbb.rs.
|
Šta znači "meni je potrebno da pošaljem fajlove koje izaberem"?
Da li hoćeš da pošalješ tvojoj stranici:
1. LISTU PUTANJA DO FAJLOVA (npr. D:\Test\Document01.docx, D:\Test\Madonna.jpg)
ili
2. SAM SADRŽAJ FAJLOVA (cele fajlove)
Koji od ova 2 ili oba???
|
|
| |
|
gogi100 Goran Ljubic
Član broj: 40722 Poruke: 1064 *.dynamic.isp.telekom.rs.
|
fajlove, da bih mogao da ih kopiram na neku lokaciju, koju sam izabrao na application page. kad sam rekao putanju, mozda je dovoljno poslati URL tih fajlova da bih obavio kopiranje tih fajlova.
|
|
| |
|
gogi100 Goran Ljubic
Član broj: 40722 Poruke: 1064 *.dynamic.isp.telekom.rs.
|
ja sam u mom ribbon dugmetu u command handler-u stavio sledeci kod
<code><CommandUIHandler
Command="Ribbon.Custom.Button.Script1"
CommandAction="javascript:function demoCallback(dialogResult, returnValue)
{
SP.UI.Notify.addNotification('Uspešna operacija!');
SP.UI.ModalDialog.RefreshPage(SP.UI.DialogResult.OK);
}
var ctx = SP.ClientContext.get_current();
var items = SP.ListOperation.Selection.getSelectedItems(ctx);
var myItems = '';
var k;
for (k in items)
{
myItems += items[k].id;
ctx.load(myItems);
var file = myItems.get_file();
ctx.load(file);
ctx.executeQueryAsync(
function (sender, args) {
if (file != null) {
alert(file.name);
}
},
function (sender, args){
alert('niste izabrali nijedan fajl');
});
}
var options = {
url: '/_layouts/RibbonCopyMove/CopyMovePage.aspx?items=' + myItems + '&source=' + SP.ListOperation.Selection.getSelectedList(),
tite: 'Move Documents',
allowMaximize: false,
showClose: true,
width: 600,
height: 500,
dialogReturnValueCallback: demoCallback };
SP.UI.ModalDialog.showModalDialog(options);" /></code>
ovim kodom ja dobijam id-eve izabranih dokumenata i id bibljoteke. ja ne znam kako da ih iskoristim na application page, pa sam mislio da na osnovu ovih id-eva dobijem imena dokumenata i kreiram url-ove, a onda njih prosledim na application page.
mozes li mi reci kako da dobijem ime na osnovu id dokumenta, ili kako vec prosledjene id-ove da iskoristim na application page za kopiranje fajlova. na netu sam nasao da mi je za to potrebna url dokumenta sa njegovim imenom i odredisna adresa gde ce dokument biti kopiran
hvala
|
|
| |
|
gogi100 Goran Ljubic
Član broj: 40722 Poruke: 1064 *.mediaworksit.net.
|
nasao sam resenje koje mi nalazi adresu izabranog dokumenta i prosledjuje ga na application page. Medjutim, meni je potrebno da se izvrsi prosledjivanje svih selektovanih dokumenata. Otprilike kako kapiram potrebno je sve adrese povezati u neku string promenljivu i nju proslediti. Kako to uraditi? Ovo je kod
<CommandUIHandler EnabledScript="javascript:SP.ListOperation.Selection.getSelectedItems().length >= 1;"
Command="Ribbon.Custom.Button.Script1"
CommandAction="javascript:
var listitem = '';
var ctx = SP.ClientContext.get_current();
var hostaddress = window.location.protocol + '//' + window.location.hostname + ':' + window.location.port;
var currentWeb = ctx.get_web();
ctx.load(currentWeb);
var currentListGuid = SP.ListOperation.Selection.getSelectedList();
var currentList = currentWeb.get_lists().getById(currentListGuid);
ctx.load(currentList);
var selectedItems = SP.ListOperation.Selection.getSelectedItems();
var k = '';
for (k in selectedItems)
{
listitem = currentList.getItemById(selectedItems[k].id);
ctx.load(listitem);
ctx.executeQueryAsync(Function.createDelegate(listitem, function ()
{
var leafUrl=listitem.get_fieldValues().FileRef;
itemUrl = hostaddress + leafUrl;
alert(itemUrl);
var options = {
url: '/_layouts/RibbonCopyMove/CopyMovePage.aspx?items=' + itemUrl,
tite: 'Move Documents',
allowMaximize: false,
showClose: true,
width: 600,
height: 500 };
SP.UI.ModalDialog.showModalDialog(options);
}), null);
}
">
|
|
| |
|