Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone



Clound SSD Virtual Server

Windows Phone Upload Send file to Server (Web Server)

Windows Phone Upload Send file to Server (Web Server) บทความการใช้ Windows Phone และการเขียน App เพื่อทำการ Upload (อัพโหลด) ไฟล์ที่อยู่ใน Isolated Storage ไปยัง Web Server ซึ่งใน Web Server จะใช้ php ทำหน้าที่รอรับไฟล์ และเขียนไฟล์ที่ได้ลงบน Web Server โดยใช้ Class และ Fucntion ของ WebClient และ OpenWriteAsync ที่ทำหน้าที่รับส่งไฟล์ระหว่าง Windows Phone กับ PHP ที่อยู่ใน Web Server

Windows Phone Upload Send file to Server (Web Server)

Windows Phone Upload Send file to Server


upload.php
<?php
	$filename = "img/".$_REQUEST["file"];

	$file = fopen($filename,"w");
	$input = file_get_contents ("php://input");
	fwrite($file,$input);
	fclose($file);
?>

ใน Web Server สามารถใช้ PHP รับค่าและเขียนไฟล์ด้วย file_get_contents

Windows Phone Upload Send file to Server (Web Server)

รายชื่อไฟล์ที่อยู่ใน Isolated Storage บน Application ของ Windows Phone


Windows Phone Project

MainPage.xaml

Windows Phone Upload Send file to Server (Web Server)

    <!--LayoutRoot is the root grid where all page content is placed-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <!--TitlePanel contains the name of the application and page title-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - place additional content here-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <TextBlock Height="64" HorizontalAlignment="Left" Margin="9,273,0,0" Name="txtResult" Text="Result" VerticalAlignment="Top" Width="441" TextAlignment="Center" FontSize="40" />
        </Grid>
    </Grid>









MainPage.xaml.vb (VB.NET)
Imports System.Runtime.Serialization
Imports System.Runtime.Serialization.Json
Imports System.Collections.ObjectModel
Imports System.IO
Imports System.Text
Imports System.Xml.Linq
Imports System.Windows.Media.Imaging
Imports System.Xml
Imports System.IO.IsolatedStorage
Imports Microsoft.Phone.Tasks

Partial Public Class MainPage
    Inherits PhoneApplicationPage

    ' Constructor
    Public Sub New()
        InitializeComponent()

        AddHandler Loaded, AddressOf MainPage_Loaded
    End Sub

    Dim client As WebClient
    Dim strFileName As String = "img1.jpg"

    Private Sub MainPage_Loaded(sender As Object, e As System.Windows.RoutedEventArgs)

        Dim ub As New UriBuilder("http://localhost/myphp/upload.php")
        ub.Query = "file=" & strFileName

        client = New WebClient()
        AddHandler client.OpenWriteCompleted, AddressOf client_OpenWriteCompleted
        client.OpenWriteAsync(ub.Uri)

    End Sub
  

    Private Sub client_OpenWriteCompleted(sender As Object, e As OpenWriteCompletedEventArgs)
        If e.Cancelled = False And e.Error Is Nothing Then

            Dim image As New BitmapImage()
            Dim isoStore As IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForApplication()
            Dim isoFilename As String = strFileName
            Dim stream As Stream = isoStore.OpenFile(isoFilename, System.IO.FileMode.Open)

            Dim output As Stream = e.Result

            Dim bytes As Byte() = New Byte(4095) {}
            Dim bytesToRead As Integer = 0
            While (InlineAssignHelper(bytesToRead, stream.Read(bytes, 0, bytes.Length))) <> 0
                output.Write(bytes, 0, bytesToRead)
            End While
            stream.Close()
            output.Close()

            Me.txtResult.Text = "Upload Completed."
        Else
            Me.txtResult.Text = "Upload Failed."
        End If
    End Sub

    Private Shared Function InlineAssignHelper(Of T)(ByRef target As T, ByVal value As T) As T
        target = value
        Return value
    End Function

End Class

MainPage.xaml.cs (C#)
using System;
using System.Windows;
using Microsoft.Phone.Controls;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
using System.Text;
using Microsoft.Phone.Shell;
using System.Windows.Controls;
using System.Net;
using System.Windows.Media.Imaging;
using System.IO.IsolatedStorage;

namespace PhoneApp
{
    public partial class MainPage : PhoneApplicationPage
    {

        // Constructor
        public MainPage()
        {
            InitializeComponent();
            Loaded += MainPage_Loaded;
        }

        WebClient client;
        string strFileName = "img1.jpg";

        private void MainPage_Loaded(object sender, System.Windows.RoutedEventArgs e)
        {
            UriBuilder ub = new UriBuilder("http://localhost/myphp/upload.php");
            ub.Query = "file=" + strFileName;

            client = new WebClient();
            client.OpenWriteCompleted += client_OpenWriteCompleted;
            client.OpenWriteAsync(ub.Uri);

        }

        private void client_OpenWriteCompleted(object sender, OpenWriteCompletedEventArgs e)
        {

            if (e.Cancelled == false & e.Error == null)
            {
                BitmapImage image = new BitmapImage();
                IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication();
                string isoFilename = strFileName;
                Stream stream = isoStore.OpenFile(isoFilename, System.IO.FileMode.Open);

                Stream output = e.Result;

                byte[] bytes = new byte[4096];
                int bytesToRead = 0;
                while ((bytesToRead = stream.Read(bytes, 0, bytes.Length)) != 0)
                {
                    output.Write(bytes, 0, bytesToRead);
                }
                stream.Close();
                output.Close();

                this.txtResult.Text = "Upload Completed.";
            }
            else
            {
                this.txtResult.Text = "Upload Failed.";
            }
        }

    }
}

ในตัวอย่างนี้มี Code ทั้งที่เป็น VB.NET และ C# และสามารถดาวน์โหลด All Code ทั้งหมดได้จากส่วนท้ายของบทความ (Login สมาชิกก่อน)








Screenshot

Windows Phone Upload Send file to Server (Web Server)

แสดงการอัพโหลดไฟล์ (Upload)

Windows Phone Upload Send file to Server (Web Server)

เมื่อดูไฟล์บน Server จะเห็นว่าไฟล์ได้ถูกสร้างด้วย php

   
Share


ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท


ลองใช้ค้นหาข้อมูล


   


Bookmark.   
       
  By : ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ)
  Score Rating :  
  Create/Update Date : 2012-09-15 14:06:06 / 2017-03-25 22:18:36
  Download : Download  Windows Phone Upload Send file to Server (Web Server)
 Sponsored Links / Related

 
localhost กับ Windows Phone Emulator (http://localhost , http://127.0.0.1)
Rating :

 
Windows Phone Connect to Web Server (WebClient and DownloadStringAsync)
Rating :


ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


Hit Link
   







Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่