Aravindba Ответов: 0

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


Привет , я использую плагин cordova FileTransfer для загрузки и загрузки в мобильных устройствах Android и IOS,теперь я застрял с receive in aspx page с помощью HttpPostedFile

Из мобильного приложения я передаю файл, используя приведенный ниже код.
в событии нажатия кнопки

function uploadFile() {


             navigator.camera.getPicture(
                 uploadPhoto,
                 function (message) {
                     $("#ErrorDiv").text("Failed to get a picture. Please select one.");
                 }, {
                     quality: 50,
                     destinationType: navigator.camera.DestinationType.FILE_URI,
                  sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
                               });



             function uploadPhoto(fileURI) {

                             var ft = new FileTransfer();
                             ft.upload(fileURI, encodeURI("http://" + localStorage.serverip + "/UService/ReceiveUpload.aspx"), UploadSuccess, UploadFail, options);


             }
         }


В приведенном выше localStorage. serverip является сервером, а в ReceiveUpload.aspx Page load я пишу ниже код для получения файла и сохранения в папке server machine.

  Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
        If Request.Files.Count <= 0 Then
            Exit Sub
        End If
        Dim MyFileCollection As HttpFileCollection

        MyFileCollection = Request.Files
        Dim postedFile As HttpPostedFile = Request.Files(0)
        Dim inStream As System.IO.Stream = postedFile.InputStream
        Dim fileData As Byte() = New Byte(postedFile.ContentLength - 1) {}
        inStream.Read(fileData, 0, postedFile.ContentLength)

        Dim writepath As String = Server.MapPath(".") & "\UserFiles"
        postedFile.SaveAs(writepath)
End Sub


Если я выбираю файлы из следующих способов ,это работает нормально
Галерея -- & gt; камера или
Галерея-- & gt; скриншоты или
Галерея-- & gt;изображения WhatsApp или
Gallert-- & gt; картинки или из Dropbox

это скриншот, когда я выбираю один из вышеперечисленных способов http://prntscr.com/dlkeh7 и это работает.

Но если выбрать файлы непосредственно из фотографий, внутренней памяти, SD-карты не может передать файл с помощью приведенного ниже кода ,это скриншот http://prntscr.com/dlkebn или http://prntscr.com/dlke7k

Запрос.Количество файлов всегда равно 0.

Что случилось с fileURI ? на приведенном выше скриншоте я показал fileURI в alert msg.

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

Но если попытаться загрузить со следующим кодом, то можно перенести его из любого места с мобильных устройств
document.addEventListener("deviceready", onDeviceReady, false);

          function onDeviceReady() {
               navigator.camera.getPicture(
               uploadPhoto,
               function(message) { alert('get picture failed'); },
               {
                   quality         : 50,
                   destinationType : navigator.camera.DestinationType.FILE_URI,
                   sourceType      : navigator.camera.PictureSourceType.PHOTOLIBRARY
               }
           );
       }

       function uploadPhoto(imageURI) {
           var options = new FileUploadOptions();
           options.fileKey="file";
           options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
           options.mimeType="image/jpeg";

           var params = {};
           params.value1 = "test";
           params.value2 = "param";

           options.params = params;

           var ft = new FileTransfer();
           ft.upload(imageURI, encodeURI("http://posttestserver.com/post.php"), win, fail, options);
       }



Пожалуйста ответьте как можно скорее

С уважением
Аравинд

0 Ответов