URL’de mevcut dosya veya verileri temsil eden dosya izni nesneleri oluşturmak için URLFilePromise sınıfını kullanın.
FILE_PROMISE_LIST
pano biçimini kullanarak panoya bir veya daha fazla dosya izni nesnesi ekleyin. Aşağıdaki örnekte, http://www.example.com/foo.txt adresindeki bir dosya indiriliyor ve bırakma konumuna bar.txt olarak kaydediliyor. (Uzak ve yerel dosya adları eşleşmek zorunda değildir.)
if( Clipboard.supportsFilePromise )
{
var filePromise:URLFilePromise = new URLFilePromise();
filePromise.request = new URLRequest("http://example.com/foo.txt");
filePromise.relativePath = "bar.txt";
var fileList:Array = new Array( filePromise );
var clipboard:Clipboard = new Clipboard();
clipboard.setData( ClipboardFormats.FILE_PROMISE_LIST_FORMAT, fileList );
NativeDragManager.doDrag( dragSource, clipboard );
}
Panoya atanmış diziye daha çok dosya izni ekleyerek kullanıcının aynı anda birden fazla dosya sürüklemesine izin verebilirsiniz. İşleme dahil edilen bazı veya tüm dosyaların bırakma konumuyla ilgili alt klasörlere yerleştirilmesi için
relativePath
özelliğinde alt dizinler de belirtebilirsiniz.
Aşağıdaki örnek, birden çok dosya izni içeren bir sürükleme işleminin nasıl başlatılacağını göstermektedir. Bu örnekte, bir html sayfası
article.html
iki bağlantılı görüntü dosyası ile birlikte panoya dosya izni olarak konuluyor. İlişkili bağlantıların korunması için görüntüler
images
alt klasörüne kopyalanır.
if( Clipboard.supportsFilePromise )
{ //Create the promise objects
var filePromise:URLFilePromise = new URLFilePromise();
filePromise.request = new URLRequest("http://example.com/article.html");
filePromise.relativePath = "article.html";
var image1Promise:URLFilePromise = new URLFilePromise();
image1Promise.request = new URLRequest("http://example.com/images/img_1.jpg");
image1Promise.relativePath = "images/img_1.html";
var image2Promise:URLFilePromise = new URLFilePromise();
image2Promise.request = new URLRequest("http://example.com/images/img_2.jpg");
image2Promise.relativePath = "images/img_2.jpg";
//Put the promise objects onto the clipboard inside an array
var fileList:Array = new Array( filePromise, image1Promise, image2Promise );
var clipboard:Clipboard = new Clipboard();
clipboard.setData( ClipboardFormats.FILE_PROMISE_LIST_FORMAT, fileList );
//Start the drag operation
NativeDragManager.doDrag( dragSource, clipboard );
}