2017-09-25 10 views
7

Czy możliwe jest, ze strony internetowej, skierowanie usługi OneDrive na urządzenie użytkownika (iPad) w celu zrobienia zdjęcia i zapisania go w określonym folderze? Czy możliwe jest skierowanie usługi OneDrive na urządzenie użytkownika, aby utworzyć folder w ten sam sposób?Kierowanie OneDrive na urządzenie za pomocą JavaScript/aplikacji internetowej

Przypadek użycia to w zasadzie chcemy, aby aplikacja internetowa kontrolowała przepływ pracy, ale zlecać na zewnątrz przechwytywanie zdjęć i asynchroniczne przesyłanie zdjęć do usługi OneDrive. Ale wiemy, gdzie są zdjęcia i jak się nazywają, więc możemy je pobrać na nasz serwer, gdy zakończą przesyłanie i będą dostępne w chmurze.

+0

więc chcesz, aby przechwycić obraz za pomocą kamery na iPada i chcesz przesłać go do jednego napędu. Czy tego chcesz? – arunjos007

+0

Prawdopodobnie nie jest to możliwe, ponieważ jest to pomysł na wiele przeglądarek/urządzeń, ale z aplikacjami HTML5 w trybie offline i zwiększeniem obsługi przeglądarki dla usług urządzeń (kamera, geolokalizacja), o których myślałem. Chcę użyć przeglądarki internetowej, aby zażądać zrobienia i zapisania zdjęcia na urządzeniu, a OneDrive na urządzeniu zajmie się zsynchronizowaniem pliku na urządzeniu z chmurą w folderze OneDrive, o którym strona jest świadoma . – Dave

Odpowiedz

0

dostępu do kamery z telefonu w Komórce, można użyć tagu wejściowego w następujący sposób:

<input type="file" accept="image/*" capture="camera"> 

teraz, aby przesłać plik można użyć onedrive JS SDK tak:

<script type="text/javascript" src="https://js.live.net/v7.2/OneDrive.js"></script> 
<script type="text/javascript"> 
    function launchSaveToOneDrive() { 
    var odOptions = { /* ... specify the desired options ... */ }; 
    OneDrive.save(odOptions); 
    } 
</script> 
<input type="file" id="fileUploadControl" name="fileUploadControl" accept="image/*" capture="camera"> 

<button onclick="launchSaveToOneDrive">Save to OneDrive</button> 

gdzie odOptions będzie wygląda tak:

var odOptions = { 
    clientId: "INSERT-APP-ID-HERE", 
    action: "save", 
    sourceInputElementId: "fileUploadControl", 
    sourceUri: "", 
    fileName: "file.txt", 
    openInNewWindow: true, 
    advanced: {}, 
    success: function(files) { /* success handler */ }, 
    progress: function(p) { /* progress handler */ }, 
    cancel: function() { /* cancel handler */ }, 
    error: function(e) { /* error handler */ } 
} 

Twój sukces będzie odpowiedzi będą miały URL OneDriv e przesłany plik, który zostanie przekazany do oddzwaniania powodzenia jako parametr.

{ 
    "value": [ 
    { 
     "id": "123456", 
     "name": "document1.docx", 
     "size": 12340, 
     "@content.downloadUrl": "https://contoso-my.sharepoint.com/download.aspx?guid=1231231231a", 
     "webUrl": "https://cotoso-my.sharepoint.com/personal/user_contoso_com/documents/document1.docx", 
     "thumbnails": [ 
     { 
      "id": "0", 
      "small": { "url": "https://sn3302files.onedrive.live.com/..." }, 
      "medium": { "url": "https://sn3302files.onedrive.live.com/..." }, 
      "large": { "url": "https://sn3302files.onedrive.live.com/..." } 
     } 
     ] 
    } 
    ] 
} 

uzyskać więcej zobacz: https://docs.microsoft.com/en-us/onedrive/developer/controls/file-pickers/js-v72/save-file)

+0

Witam, to rozwiązanie przesyła plik za pomocą strony internetowej. Staram się przenieść tę odpowiedzialność na usługę OneDrive na telefon użytkowników (np. Takie jak Przesyłanie z kamer do Dropbox). Dzięki temu użytkownik może zrobić zdjęcie, a strona wie, gdzie można go znaleźć w usłudze OneDrive (po przesłaniu), ale użytkownik może zamknąć stronę internetową, a przesyłanie zostanie wykonane przez usługę OneDrive na urządzeniu w tle. – Dave

Powiązane problemy