Можно ли сохранить содержимое текстовой области в виде файла с расширением .java на Azure? - PullRequest
1 голос
/ 06 января 2012

Мне нужно спроектировать приложение Azure, чтобы люди могли писать код Java и сохранять их в облаке Azure. Я использую asp.net для сборки приложения.

У меня была идея показать текстовую область пользователю, где он может написать свой код Java, а затем автоматически сохранить его в виде файла .java, когда он нажмет кнопку «Сохранить». Это возможно? Есть ли способ получить содержимое текстовой области, а затем сохранить содержимое в файл с расширением .java? Или есть лучший способ сделать это?

У меня нет особых знаний об этом, и я все еще исследую. Любая помощь будет оценена.

Большое спасибо.

1 Ответ

2 голосов
/ 06 января 2012

Если вы работаете с Java и уже знакомы с языком Java, почему бы просто не использовать JAVA Tooling для создания приложения Azure полностью на Java?

Кроме этого, вот ответы на ваши вопросы:

У меня была идея показать пользователю текстовую область, где он может написать свой код Java, а затем автоматически сохранить его как файл .java когда он нажимает кнопку сохранения. Это возможно? Есть ли способ получить содержимое текстовой области, а затем сохранить содержимое в файл с расширением .java?

Да, это возможно. Вы должны использовать серверный элемент управления ASP.NET TextBox . Вы можете использовать его таким образом:

<asp:TextBox runat="server" ID="tbMyJavaContent" TextMode="multiline" />

В codebhind вам просто нужно получить свойство Text элемента управления:

string javaFileContent = this.tbMyJavaContent.Text;
File.WriteAllText("path_to_file.java", javaFileContent);
// here the logic to upload that file to a Blob storage

Затем сохраните это содержимое в файл. Однако вы не должны просто сохранить его локально! Вы всегда должны использовать хранилище BLOB-объектов (или таблиц) Windows Azure для сохранения своих файлов. Прочтите этот вопрос , чтобы узнать, как загрузить файл в Windows Azure Blob.

Что касается того, есть ли лучший способ для достижения вашей цели, я не знаю. Если задача такова: у ваших конечных пользователей должны быть инструменты для написания собственного кода, который в результате будет сохранен в локальном текстовом файле (с расширением .java). Затем, даже если есть другое решение, они все будут перемещаться, имея текстовую область, в которую пользователь может писать, и сохраняя содержимое этой текстовой области в локальный файл. В конце не забудьте загрузить свой файл в Blob для длительного хранения.

Если вы используете asp.net MVC framework, это еще проще. Вам просто нужно texarea и действие Controller, которое принимает один параметр типа string и name - имя textarea. Что-то вроде (Вид):

@using(Html.BeginForm("SaveContent", "Home", FormMethod.Post))
{
<textarea name="taJavaContent" rows="20" cols="40"></textarea>
}

Контроллер (HomeController.cs):

public ActionResult SaveContent(string taJavaContent)
{
   string tmpFileName = SomeMethodToGetLocalFileName();
   File.WriteAllText(tmpFileName, taJavaContent);
   SomeMethodToUploadLocalFileToABlob(tmpFileName();
}

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...