Uzak dosyaları bırakma

Adobe AIR 2 ve üstü

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 ); 
}