How to share files created by an app? - windows-phone-7

How do I share files (music, video, image) create by my app? I am interested in sharing audio file specifically.
Imagine I have a program that generates wav file.
How do I take it from isolated storage?
Is it possible to sent an attachment with e-mail?
Save it on SkyDrive?
Share on Facebook?
Put it to media library?
At least in some convenient for a user way to take it out from WP7 device?
Any help regarding this topic would be welcome

You cannot directly send it as an attachment through the EmailComposerTask, however you can use your own implementation of an email sending mechanism.
You can save it to SkyDrive, but then again you have to use a custom API layer (developed by you or by a third-party) to achieve this.
A better choice in my opinion would be having a WCF service that will transmit the byte array of the generated content to a specific location - this will ultimately give you more control over the transmission layer.

You can save images to the MediaLibrary - from where you can access it via the Zune Software and transfer to PC, etc.
This can be done with the MediaLibrary.SavePicture method. (Yes, this is an XNA method but it can be used from within a Silverlight application also.)
The other alternative is to upload it to a webserver and send it from there.
There is currently no way to save songs or movies.
How to upload a file to a webserver very much depends on: the server; the software it is running; and any security concerns realting to the content.
There is the start of a discussion on this at Uploading XML files from WP7, possible, how to etc?

Related

using your own ftp server to receive uploaded files on my website

Im looking for an out of the box solution to be able to add an upload form so that my users can upload large files from my website onto my own FTP server.
Has anyone found a good service to accomplish this? Again I want to be able to use my own server in my office and i also need a form attached to the uploaded file.
I run a graphics printing company and need to be able to receive large files that my designers send to me.
I want my user experience to be painless and not complicated as possible so i would prefer if they did not have to download any FTP clients like filezilla or transmit.
I just want them to fill out the form
upload their files
click send
then i receive it on my server
If there is any off the shelves solution for this that would be amazing.
Thank you!
I guess this is an "out of the box" web app. It allows you to brand the app to look like your own web site by modifying a couple of files. All the functionality is built in. It is called Simple2FTP and can be found at www.Simple2ftp.com
Maintaining a ftp server is not trivial. There are various dropbox-type services on the
web that are very easy to use.

Windows Phone7 Share data among applications

I searched everywhere and wondering whether any posible way available for share data among applications within the mobile phone itself. What I basically meant by that is, if there any way that can create a file from one application and allow other applications to access that file.
The problem is, If we save the file in application's isolated storage, then any other application won't be able to access it.
For example a scenario like this. One application produce a file and store it in a public location within the phone and later using the email client application need that file to be sent as an attachment.
Really appreciate any guidance/ help over this task. Thanks in Advance...!!!
Unfortunately, there's currently no way to share data between applications on Windows Phone. For this, you'll have to rely on an external server. Depending on what your apps are doing, you may want to consider using skydrive or dropbox integration to share the files.

What options do I have for storing video files for my website?

If I'd like to create website where users will be able to upload videos what options do I have for storing and streaming the video files?
One is of course storing it on my website. But I don't think that's good option. I will need a lot of storage (to expensive) and streaming will slow down my sever. I think it should be cheaper to store it in some external service. It would also take the load off my server. But I don't know of any.
Do you any services that may help here? If my website is not commercial and if it becomes commercial. This probably shouldn't matter but I'm using ASP.NET or ASP.NET MVC.
I am currently in a processes of designing a similar functionality for a product I develop.
The design that I came up with is:
Storage: AWS S3
Processing: zencoder.com or www.pandastream.com
Player: jplayer.org
To sum this up: User uploads the video(via asp.net) to S3. A service sends the unprocessed video from S3 to zencoder/pandastream for encoding and puts it back to S3 in the encoded formats. From there jplayer will play the files on all the platforms.

Backing up Isolated storage

Some of my users have asked to have their data backed up (off the phone). I'm using Isolated storage to store their data. I'm wondering if there is a way that I can somehow get that information package it up and send it to a off phone location.
Is there a way to do this? What is the best way to accomplish this?
I don't know if skydrive will handle backing up the type of data you have but there is an API now.
http://msdn.microsoft.com/en-us/windowslive/default.aspx
Examples on GitHub:
https://github.com/liveservices/LiveSDK
Someone posted a question on how to backup a SQLCE database to skydrive and there didn't seem to be an API to backup random things only specific things like Pictures or Music. I'm sure something for that could be figured out by storing some data from a browser and watching the traffic in Fiddler.
edit: side note, theres an AWS beta API for WP7 now.
If you don't know what the data is, you can search for it like this:
Find Existing Files and Directories in Isolated Storage
Then you can use SkyDrive to save users data onto it.
You can use the Live SDK.

Windows Phone 7 - how to send files from/to the app?

I'm trying to write the most basic application for windows phone 7 and want to be able to send files (specifically XML in case that changes anything) to my app. Currently I have a WCF service setup so I can send push notifications through it. The problem is that there is a limit on the amount of raw data I can send via a push notification.
My solution to this is to send the initial push notification (either tile or raw) to alert my application that I want to send a file to it and then make the app somehow communicate with a server (everything is on my personal computer btw - I'm just trying to figure out how things work) - from which the app will recieve/download the files.
What is the easiest way to accomplish this? Note that I'm not concerned with security or anything like that.
Clarification - the question is essentialy: how do I transfer files from/to a server to/from the phone? Assume everything else was handled - the app is up and running and the user has given or will give permissions to every possible thing he may give his permission to.
Unfortunately, the total size of a push notification (including HTTP headers) is 1kb. This means that it can't be used to send large amounts of data.
Instead of sending the whole file, send a notification (raw or toast—as appropriate) which should be treated by the application as a trigger to go and retrieve the new file/data/whatever from the server. It may also be worth checking for new messages when your app starts. However, if when you start the app it will notify the server that it is ready to receive raw notifications and such messages will be sent indicating new content is available, it may be unnecessary to add this extra check.
To transfer files to/from the phone you will need to use either HttpWebRequest or WebClient as this is the only way to use HTTP on the device and HTTP is the only protocol currently available to transfer data.
While WebClient may appear to be easier to use than HttpWebRequest it is less flexible and will automatically perform it's callback on the UI thread and if you're downloading files in the background you almost certainly don't want this.
There is no way to transfer files to/from a conencted PC and have them exclusively available to your app.
First of all: you won't be able to do this approach automatically - the user will have to open your app to do that because WP7 SDK doesn't allow your app to run on background/start automatically once a push notification is received.
The only way to communicate with your server, at this point in time, is web services. If I were you, I would check for new information available once the app is started, if there is new info, I would call one or more web services which would return me all the information that I need.
If you want, you can use a timer to check for information periodically.
As I said, it will only work while your app is running (check the app lifecycle if you don't know it yet), WP7 doesn't allow apps to run in background, that is a serious limitation IMHO.
Good Luck,
Oscar
Maybe a little bit off topic but when I was thinking about file sharing in my WP7 app, I found two approaches:
Integrate an app with Dropbox
Use advanced explorer for WP7
You can use the WebClient class and the DownloadStringAsync method in order to download data from a web service .
A good example of this is Scott Guthrie's Twitter app from MIX10 .
George

Resources