小编Pol*_*ion的帖子

在Lambda(Node.js)中解析multipart/form-data中的数据

我想通过multipart/form-data发送数据时解析数据,如何解析响应数据?

我使用API​​ Gateway + Lambda,

所以我设置了身体映射模板,

Content-Type : multipart/form-data

{
  "body" : $input.json('$'),
  "headers": {
    #foreach($header in $input.params().header.keySet())
    "$header": "$util.escapeJavaScript($input.params().header.get($header))" #if($foreach.hasNext),#end

    #end
  },
  "method": "$context.httpMethod",
  "params": {
    #foreach($param in $input.params().path.keySet())
    "$param": "$util.escapeJavaScript($input.params().path.get($param))" #if($foreach.hasNext),#end

    #end
  },
  "query": {
    #foreach($queryParam in $input.params().querystring.keySet())
    "$queryParam": "$util.escapeJavaScript($input.params().querystring.get($queryParam))" #if($foreach.hasNext),#end

    #end
  }  
}
Run Code Online (Sandbox Code Playgroud)

在lambda中,只需确认数据发送即可

const AWS = require('aws-sdk');
const querystring = require('querystring');

exports.handler = (event, context, callback) => {


    callback(null,event.body);


};
Run Code Online (Sandbox Code Playgroud)

所以响应结果是这样的,

"----------------------------249221450291104233730977\r\nContent-Disposition: form-data; name=\"data\"\r\n\r\n1\r\n----------------------------249221450291104233730977\r\nContent-Disposition: form-data; name=\"file\"; filename=\"SampleJPGImage_15mbmb.jpg\"\r\nContent-Type: image/jpeg\r\n\r\n\ufffd\ufffd\ufffd\ufffd\u0000\u0010JFIF\u0000\u0001\u0001\u0001\u0000H\u0000H\u0000\u0000\ufffd\ufffd\u0000\"Exif\u0000\u0000MM\u0000*\u0000\u0000\u0000\b\u0000\u0001\u0001\u0012\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\ufffd\ufffd\fXICC_PROFILE\u0000\u0001\u0001\u0000\u0000\fHLino\u0002\u0010\u0000\u0000mntrRGB XYZ \u0007\ufffd\u0000\u0002\u0000\t\u0000\u0006\u00001\u0000\u0000acspMSFT\u0000\u0000\u0000\u0000IEC sRGB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ufffd\ufffd\u0000\u0001\u0000\u0000\u0000\u0000\ufffd-HP  \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011cprt\u0000\u0000\u0001P\u0000\u0000\u00003desc\u0000\u0000\u0001\ufffd\u0000\u0000\u0000lwtpt\u0000\u0000\u0001\ufffd\u0000\u0000\u0000\u0014bkpt\u0000\u0000\u0002\u0004\u0000\u0000\u0000\u0014rXYZ\u0000\u0000\u0002\u0018\u0000\u0000\u0000\u0014gXYZ\u0000\u0000\u0002,\u0000\u0000\u0000\u0014bXYZ\u0000\u0000\u0002@\u0000\u0000\u0000\u0014dmnd\u0000\u0000\u0002T\u0000\u0000\u0000pdmdd\u0000\u0000\u0002\ufffd\u0000\u0000\u0000\ufffdvued\u0000\u0000\u0003L\u0000\u0000\u0000\ufffdview\u0000\u0000\u0003\ufffd\u0000\u0000\u0000$lumi\u0000\u0000\u0003\ufffd\u0000\u0000\u0000\u0014meas\u0000\u0000\u0004\f\u0000\u0000\u0000$tech\u0000\u0000\u00040\u0000\u0000\u0000\frTRC\u0000\u0000\u0004<\u0000\u0000\b\fgTRC\u0000\u0000\u0004<\u0000\u0000\b\fbTRC\u0000\u0000\u0004<\u0000\u0000\b\ftext\u0000\u0000\u0000\u0000Copyright (c) 1998 Hewlett-Packard Company\u0000\u0000desc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012sRGB …
Run Code Online (Sandbox Code Playgroud)

postman aws-lambda aws-api-gateway

9
推荐指数
1
解决办法
787
查看次数

如何在ARCore中调整对象的大小?

我在ArFragment中显示了3D对象。因此,我将.obj文件和.mtl文件放在sampledata文件夹中。我右键单击obj文件,然后选择“导入Sceneform资产”以添加.sfa / .sfb文件。

因此,当我标记图像时,我可以显示3d对象,但是对象太大。

这是我的.sfa文件的详细信息

{
   bound_relative_root: {
      x: 0.5,
      y: 0,
      z: 0.5,
   },
   materials: [
      {
         name: "Material.001",
         parameters: [
            {
               baseColor: null,
            },
            {
               baseColorTint: [
                  0.80000000000000004,
                  0.80000000000000004,
                  0.80000000000000004,
                  1,
               ],
            },
            {
               metallic: 1,
            },
            {
               roughness: 0.120695,
            },
            {
               opacity: null,
            },
         ],
         source: "build/sceneform_sdk/default_materials/obj_material.sfm",
      },
   ],
   model: {
      attributes: [
         "Position",
         "TexCoord",
         "Orientation",
      ],
      collision: {},
      file: "sampledata/dongbaek.obj",
      name: "dongbaek",
      recenter: "root",
      scale: 0.200000
   },
   version: "0.52:1",
}
Run Code Online (Sandbox Code Playgroud)

我认为它可以按比例调整大小,但是我更改了值,但没有改变。相同大小

那么如何调整3d对象的大小呢?

添加3d对象文件以制作.sfa / .sfb文件时是否存在任何问题?(导入Sceneform Asset) …

android object augmented-reality arcore

9
推荐指数
2
解决办法
3135
查看次数

如何通过字符串获取可绘制资源?

我将它们的名称命名为 String,位于可绘制文件夹中。如何访问可绘制文件夹并传递可绘制资源来更改图标视图。

val iconList = ["ic_apple","ic_banana","ic_melon"]
Run Code Online (Sandbox Code Playgroud)

ic_apple.png, ic_banana.png,ic_melon.png在我的可绘制文件夹中。

就像,java 代码中有这样的内容。

val iconList = ["ic_apple","ic_banana","ic_melon"]
Run Code Online (Sandbox Code Playgroud)

drawable android-jetpack-compose

9
推荐指数
1
解决办法
4806
查看次数

如何在 fastify 中使用 sendFile?

服务器.ts

import fastify from "fastify";
import cookie from 'fastify-cookie';
import apiRoute from './routes/api';
import jwtPlugin from "./plugins/jwtPlugin";
import closePlugin from "./plugins/closePlugin";
import path from "path";

const PORT = parseInt(process.env.PORT!, 10)

export default class Server {
    app = fastify({ logger: true })

    constructor() {
        this.setup()
    }

    setup() {
        this.app.get('/', (request, reply) => {
            reply.send({ hello: 'world' })
        })
        this.app.register(apiRoute, { prefix: '/api' })
        this.app.register(cookie)
        this.app.register(require('fastify-url-data'))
        this.app.register(jwtPlugin)
        this.app.register(closePlugin)
        this.app.setErrorHandler((error, request, reply) => {
            reply.send({
                statusCode: error.statusCode,
                name: error.name,
                message: error.message,
                validation: error.validation, …
Run Code Online (Sandbox Code Playgroud)

fastify

7
推荐指数
0
解决办法
798
查看次数

如何更改 EditText 上的图标?

我让 EditText 从用户那里接收密码。

所以我将输入类型更改为密码。

<EditText
                android:id="@+id/edittext_Password"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:backgroundTint="@color/colorPrimary"
                android:inputType="textPassword"
                android:layout_weight="1"
                />
Run Code Online (Sandbox Code Playgroud)

当我在 EditText 中输入 word 时,它显示一个黑点。
我想将点更改为可绘制资源。

在此处输入图片说明

android android-layout android-edittext android-inputtype

5
推荐指数
1
解决办法
493
查看次数

android room 总是在数据库检查器中显示关闭

我正在尝试在 Android Studio 中使用数据库检查器。

当我在设备上运行应用程序时,检查器始终显示我的应用程序数据库

在此输入图像描述

使用前需要设置什么吗?我没有使用 db.close()

这是我的数据库模块代码

@Database(entities = [User::class], version = 1, exportSchema = false)
abstract class AppDatabase : RoomDatabase() {

    abstract fun userDao(): UserDao

    companion object {
        //For singleton instantiation
        @Volatile private var instance: AppDatabase?= null

        fun getInstance(context: Context): AppDatabase {
            return instance ?: synchronized(this) {
                instance ?: buildDatabase(context).also { instance = it }
            }
        }

        private fun buildDatabase(context: Context): AppDatabase {
            return Room.databaseBuilder(context, AppDatabase::class.java, DATABASE_NAME)
                .addCallback(
                    object : RoomDatabase.Callback() {
                        override fun onCreate(db: SupportSQLiteDatabase) {
                            super.onCreate(db) …
Run Code Online (Sandbox Code Playgroud)

android android-room

5
推荐指数
1
解决办法
2417
查看次数

Android jetpack 中带有 ConstraintLayout 的 LazyColumn 组合

我将在每列的顶部放置一个标签,并Lazy\xd0\xa1olumn在底部放置一个标签。如下。

\n

在此输入图像描述

\n

然而,当我填写完后,却出现了与我预想不同的画面:

\n

在此输入图像描述

\n

我还需要设置什么吗?这是我的代码

\n
@Composable\nfun MenuDetailList(\n    loading: Boolean,\n    type: String,\n    items: List<Any>,\n    page: Int,\n    onChangeScrollPosition: (Int) -> Unit,\n    onTriggerNextPage: () -> Unit,\n    onCallCacheDialog: (Int) -> Unit\n) {\n    val configuration = LocalConfiguration.current\n    val screenHeight = configuration.screenHeightDp.dp\n\n    Box(\n        modifier = Modifier\n            .background(color = MaterialTheme.colors.surface)\n    ) {\n        if (loading && items.isEmpty()) {\n            LoadingShimmer(imageHeight = screenHeight)\n        }else if (items.isEmpty()) {\n            NothingHere()\n        }else {\n            ConstraintLayout(\n                modifier = Modifier\n                    .fillMaxSize()\n                    .background(color = Color.White)\n            ) {\n                val (label, list) = createRefs()\n …
Run Code Online (Sandbox Code Playgroud)

kotlin android-jetpack-compose lazycolumn

5
推荐指数
2
解决办法
1796
查看次数

更改 LiveData 时 DataBinding 不更新值

我希望当我按下按钮并将其写入textview. 然而,下面的代码将增加的值显示为 Log 但在屏幕上, in 的值textview没有改变。我不确定出了什么问题。如果您知道,请告诉我。

片段.kt

class SettingFragment : Fragment(), View.OnClickListener {

    companion object {
        fun newInstance() = SettingFragment()
        private val TAG = "SettingFragment"
    }

    private lateinit var viewModel: SettingViewModel
    private lateinit var binding: FragmentSettingBinding

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        binding = DataBindingUtil.inflate(inflater, R.layout.fragment_setting, container, false)
        return binding.root
    }

    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
        viewModel = ViewModelProvider(this).get(SettingViewModel::class.java)
        binding.lifecycleOwner = this
        binding.button.setOnClickListener(this)
    }

    override fun onClick(v: View?) { …
Run Code Online (Sandbox Code Playgroud)

data-binding android kotlin android-databinding android-livedata

2
推荐指数
1
解决办法
731
查看次数

TabLayout颜色未选中的选项卡下划线

在此输入图像描述

在此图片中,在tablayout中,选定的tabbar下划线颜色为紫色和文本.

我搜索未选中的tabbar,但我找不到未选中的tabbar下划线.

我想在选择某个标签时更改颜色,更改未选中的标签栏下划线颜色.

如果你知道这件事,你能帮助我吗?

android android-viewpager android-tablayout

0
推荐指数
1
解决办法
5327
查看次数

登录时后台并发复制GC

MainActivity.kt

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent {
        val navController = rememberNavController()
        NavHost(
            navController = navController,
            startDestination = Screen.LoginScreen.route
        ) {
            composable(route = Screen.LoginScreen.route) {
                navBackStackEntry ->
                val factory = HiltViewModelFactory(LocalContext.current, navBackStackEntry)
                val viewModel: LoginViewModel = viewModel(key = "LoginViewModel", factory = factory)
                LoginScreen(
                    viewModel = viewModel,
                    onNavigateToNextScreen = navController::navigate,
                    navController = navController
                )
            }
            composable(route = Screen.HomeScreen.route) {
                navBackStackEntry ->
                val factory = HiltViewModelFactory(LocalContext.current, navBackStackEntry)
                val viewModel: HomeViewModel = viewModel(key = "HomeViewModel", factory = factory)
                HomeScreen(

                )
            }
        } …
Run Code Online (Sandbox Code Playgroud)

android kotlin retrofit2 android-jetpack-compose

0
推荐指数
1
解决办法
4129
查看次数