我想使用HttpClient将文件上传到php脚本,以将其保存在Windows Phone 8.1应用程序的服务器上.
这是我从这篇文章得到的C#代码.
private async Task<string> GetRawDataFromServer(byte[] data)
{
//Debug.WriteLine("byte[] data length:" + Convert.ToBase64String(data).Length);
var requestContent = new MultipartFormDataContent();
// here you can specify boundary if you need---^
var imageContent = new ByteArrayContent(data);
imageContent.Headers.ContentType =
MediaTypeHeaderValue.Parse("image/jpeg");
requestContent.Add(imageContent, "image", "image.jpg");
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://www.x.net/");
var result = client.PostAsync("test/fileupload.php", requestContent).Result;
return result.Content.ReadAsStringAsync().Result;
}
}
Run Code Online (Sandbox Code Playgroud)
使用此代码,我在php脚本中检索数据
<?
function base64_to_image( $imageData, $outputfile ) {
/* encode & write data (binary) */
$ifp = fopen( …
Run Code Online (Sandbox Code Playgroud) 设置XDebug后,我成功调试了可以直接访问PHPStorm的php文件.
但最近我开始使用CodeIgniter,我完成了本教程.现在我想知道是否可以调试特定的MVC文件,例如controller.php.因为在设置断点并开始使用PHPStorm调试控制器文件之后,它当然声明"不允许直接脚本访问",因为我直接访问了脚本.
当手动访问文件时,例如http:// localhost:63342/01_codeigniter_tutorial/public_html/index.php/controller它只显示404页面而不是显示的常用输出,而不是用PHPStorm打开它.
所以我想知道是否有一个特定的文档来读取调试CodeIgniter或我只是处理错误?
我通过在main.xml文件中创建两个菜单项,在Action栏中手动构建了两个微调器.随着线
cSpinner.setAdapter( ArrayAdapter.createFromResource( this,
R.array.category_data,
android.R.layout.simple_spinner_dropdown_item )
);
Run Code Online (Sandbox Code Playgroud)
我为它们设置了阵列资源.这些东西实际上有效,但问题是,左旋转器资源字符串是如此之大,以至于只能看到右旋转器的一小部分.
http://s1.directupload.net/images/130422/88wtvfft.png
我尝试过像cSpinner.setLayoutParams(new Spinner.LayoutParams(60, 20));
'或'
ViewGroup.LayoutParams params = pView.getLayoutParams();
params.width = 100;
cspinner.setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)
但它们都不起作用.第二个甚至让程序崩溃.你现在知道如何解决这个问题吗?
我知道,它被问了十几次,但我唯一想要的是使用php脚本将一个像'Ä'这样的德文字母插入到数据库中,而这个脚本根本不能使用现有的解决方案.
<?php
header('Content-type: text/html; charset=utf-8');
$con = mysqli_connect("localhost", "username", "password");
mysqli_set_charset($con, "utf8mb4");
mysqli_select_db($con, "database");
mysqli_query($con, "SET SESSION CHARACTER_SET_RESULTS =utf8mb4;");
mysqli_query($con, "SET SESSION CHARACTER_SET_CLIENT =utf8mb4;");
mysqli_query($con, "SET NAMES 'utf8mb4';");
mysqli_query($con,
"SET character_set_results = 'utf8',
character_set_client = 'utf8',
character_set_connection = 'utf8',
character_set_database = 'utf8',
character_set_server = 'utf8';");
$title = 'Ö';
$result = mysqli_query($con,
"INSERT INTO Test (Title)
VALUES ('" . utf8_encode($title) . "');");
#Doesn't work, this was inserted: Ã
?>
Run Code Online (Sandbox Code Playgroud)
"Title"列的字符集设置为utf8mb4_general_ci,表格本身设置为utf8_general_ci.MySQL Server版本是5.5.31 MySQL Charset是UTF-8 Unicode
有人知道我做错了什么,或者我在这里遗漏了什么?
i18next v22.0.0为翻译功能提供了完整的类型安全性t('world.greeting')
,这非常棒。但由于您可以使用该t()
函数从嵌套翻译中检索对象,因此它可能会返回一个对象或字符串。
我总是将结果传递给字符串的翻译键。我主要在必须返回字符串的上下文中使用t()
,因此以下代码片段中的函数会产生 TypeScript 错误:
const resources = {
en: {
translation: {
world: {
withGreeting: 'Hello World',
withoutGreeting: 'World',
someNestedProperty: {
hello: 'Text',
}
},
},
},
}
// Declare i18next typings: https://www.i18next.com/overview/typescript
declare module "i18next" {
interface CustomTypeOptions {
resources: typeof resources["en"];
}
}
// (...) initialize i18next
const getText = (enabled: boolean): string => {
if(enabled) {
// Typescript Error: string | { hello: string } not assignable to type …
Run Code Online (Sandbox Code Playgroud) 当用户写入文本框时显示用户建议的最佳方法是什么?我在 JS 数组中有所有可能的值。以数组为例["TYPO3", "Javascript"]
。现在,如果用户输入这样一个字符串的起始字符,他应该得到这样的建议:
我很清楚占位符html5 标签,但这仅在文本框为空时才有效。我也知道Datalist 元素或jQuery 自动完成功能,但这些只允许特定值。我还希望文本框中未预定义的内容。
我的想法是<span>
在光标后立即添加一个标签,在输入 keyup 事件时更改其内容并将跨度移动到光标当前所在的位置。这也使我可以设置建议文本的样式。
但对我来说,这似乎是一个糟糕的黑客,那么有没有更清洁的解决方案呢?
我们想在我们的服务器上运行一个php脚本,使用HttpClient和HttpPost将数据(在变量nameValuePairs中)插入到我们的数据库中.如果我们使用Idea IntelliJ创建以下代码作为Android应用程序,它可以正常工作.但是如果它是在Eclipse中创建的,则应用程序会在.execute()方法中崩溃,并抛出一个正常的异常"null".
HttpClient httpclient = new DefaultHttpClient(httpParameters);
HttpPost httppost = new HttpPost("http://bbpf.bplaced.net/insert.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
httpclient.execute(httppost);
Run Code Online (Sandbox Code Playgroud)
您是否熟悉该问题或为什么在Eclipse中创建的相同程序崩溃并在IntelliJ中运行?
编辑:这是Eclipse中的错误日志:
04-04 08:11:33.429: E/AndroidRuntime(2888): FATAL EXCEPTION: main
04-04 08:11:33.429: E/AndroidRuntime(2888): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mobile.inserttest/com.mobile.inserttest.MainActivity}: android.os.NetworkOnMainThreadException
04-04 08:11:33.429: E/AndroidRuntime(2888): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1967)
04-04 08:11:33.429: E/AndroidRuntime(2888): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
04-04 08:11:33.429: E/AndroidRuntime(2888): at android.app.ActivityThread.access$600(ActivityThread.java:127)
04-04 08:11:33.429: E/AndroidRuntime(2888): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
04-04 08:11:33.429: E/AndroidRuntime(2888): at android.os.Handler.dispatchMessage(Handler.java:99)
04-04 08:11:33.429: E/AndroidRuntime(2888): at android.os.Looper.loop(Looper.java:137)
04-04 08:11:33.429: E/AndroidRuntime(2888): at android.app.ActivityThread.main(ActivityThread.java:4441)
04-04 08:11:33.429: E/AndroidRuntime(2888): at java.lang.reflect.Method.invokeNative(Native Method)
04-04 08:11:33.429: E/AndroidRuntime(2888): at java.lang.reflect.Method.invoke(Method.java:511)
04-04 …
Run Code Online (Sandbox Code Playgroud)